1 Star 0 Fork 0

guomaoqiu/blueking

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.py 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
Your Name 提交于 2017-03-17 17:42 . firtst commit
#-*- coding:utf-8 -*-
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
class prpcrypt():
def __init__(self, key):
self.key = self.key_length(key)
self.mode = AES.MODE_CBC
def key_length(self,data):
length = 16
count = len(data)
add = length - (count % length)
data = data + ('\0' * add)
print data
return data
# 加密函数,如果text不是16的倍数【加密文本text必须为16的倍数!】,那就补足为16的倍数
def encrypt(self, text):
cryptor = AES.new(self.key, self.mode, self.key)
textadd = self.key_length(text)
return b2a_hex(cryptor.encrypt(textadd))
# 解密后,去掉补足的空格用strip() 去掉
def decrypt(self, text):
cryptor = AES.new(self.key, self.mode, self.key)
plain_text = cryptor.decrypt(a2b_hex(text))
return plain_text.rstrip('\0')
if __name__ == '__main__':
while True:
key = raw_input("please input you key[q:quit]: ")
if key == "":
print "key can't be empty!"
elif key == "q":
exit(0)
else:
ende = prpcrypt(key)
entype = raw_input('en or de: ')
if entype == "en":
passwd = raw_input('please input your pass: ')
print ende.encrypt(passwd)
elif entype == 'de':
passwd = raw_input('please input your pass: ')
print ende.decrypt(passwd)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/demo_demo/blueking.git
[email protected]:demo_demo/blueking.git
demo_demo
blueking
blueking
master

搜索帮助