python3使用zookeeper和私钥解密及编码转化配置信息
时间:2022-05-08
本文章向大家介绍python3使用zookeeper和私钥解密及编码转化配置信息,主要内容包括python3相关的zookeeper包支持的少,互联网上大量的文章都是使用的zkpython,可是zkpython只支持到python2.7,找了半天才寻找到、环境信息、用到的包、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
python3相关的zookeeper包支持的少,互联网上大量的文章都是使用的zkpython,可是zkpython只支持到python2.7,找了半天才寻找到
kazoo,也很好用
环境信息
python3.5
用到的包
kazoo base64 rsa
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 17/10/17 下午4:00
# @Author : lee
# @File : get.py
# @Version : 1.0
# 说明: code后有'#'是测试时加的或者需要修改的code
# 用法:python3使用zookeeper和公私钥加解密传输机器人配置文件
from kazoo.client import KazooClient
import base64
import rsa
privfile = open('rsa_private_key.pem','r')
with open('rsa_private_key.pem','r') as f: # 读取本地的私钥
privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())
zk = KazooClient(hosts='172.18.xx.xx:2181') # 172.18.xx.xx:2181zookeeper地址端口
zk.start()
if zk.exists("/xxx/yyy"): # /xxx/yyy配置文件目录
print ("OK")
mes = (zk.get('/lambda/global')[0]) # 取元组元素第一个
mes = base64.b64decode(mes) # base64解码
message = rsa.decrypt(mes, privkey).decode()
message = base64.b64decode(message) # base64解码
print(message)
else:
print ("not exists.")
zk.stop() # 停止使用zk
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(八)线上Mysql数据库崩溃事故的原因和处理
- 数据结构01 算法的时间复杂度和空间复杂度
- Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦
- Spring【依赖注入】就是这么简单
- 数据结构02 线性表之顺序表
- struts2+spring+hibernate整合步骤(2)
- Spring入门这一篇就够了
- Mybatis面试题
- 从业务角度分析奇怪的数据库高负载问题 (r4笔记第35天)
- 数据结构03 线性表之链表
- Java基础-12(01)总结Scanner,String
- 通过shell绑定系统进程调优 (r4笔记第34天)
- Mybatis【入门】
- 数据结构04 链表的面试题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解 Vue 目录及配置文件之 config 目录
- Nginx 搭建静态资源服务
- vue 使用自定义字体
- vue 跨域问题
- Shell 递归查找文件
- element-ui 实现嵌套表格
- Leetcode 第23场双周赛A 5360. 统计最大组的数目 (手速题,map)
- Java 水题系列(4)数组合并
- SpringBoot 整合 SpringDataJPA
- Codeforces Beta Round #51 C. Pie or die(博弈 思维)
- SpringDateJPA 系列之 JPA 中的相关操作
- python Turtle 画出“精美碎花小清新树”快来拿代码!
- SpringDataJPA 系列之 JPA 简介
- Leetcode 264. 丑数 II (数论,三指针,类dp)
- Leetcode 628. 三个数的最大乘积 (数学)