趣学python3(45)--调用C库-加解密
生活随笔
收集整理的這篇文章主要介紹了
趣学python3(45)--调用C库-加解密
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cryptography庫既包括高級規則,也包括普通密碼算法(如對稱密碼、消息摘要和關鍵派生函數)的低級接口。
$ pip install cryptography
例如,用密碼學的高層對稱加密方式加密:
gAAAAABbzaV91tfQiIYclT05Kb30uA6-XDKsp13jHx7lpIvML3NHCtJCxqTIgArIqQgTocnsBanR51vDkeh5NcDkN_B2kL2bDA==
tbpwFLqSZFa6Tufae7JW5gqrxGPQFtRCrfl-gyDIuiw=
hello,world!
AES :
Out[22]:‘liuxing’
#!/usr/bin/env python2# -*- coding: utf-8 -*-import osfrom cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modesfrom cryptography.hazmat.backends import default_backendfrom cryptography.hazmat.primitives import paddingpadder = padding.PKCS7(128).padder()backend = default_backend()key = os.urandom(32)iv = os.urandom(16)cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=backend)encryptor = cipher.encryptor()messages = raw_input("Please input your message: ")padded_data = padder.update(messages )padded_data += padder.finalize()print padded_datact = encryptor.update(padded_data) + encryptor.finalize()decryptor = cipher.decryptor()decryptorData=decryptor.update(ct) + decryptor.finalize()unpadder = padding.PKCS7(128).unpadder()data = unpadder.update(decryptorData)data + unpadder.finalize()Please input your message: hello, world,I am a teacher.
hello, world,I am a teacher.
Out[24]:
‘hello, world,I am a teacher.’
python3:
總結
以上是生活随笔為你收集整理的趣学python3(45)--调用C库-加解密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java接口的几种常见用法
- 下一篇: 趣学python3(42)--将字符串格