当前位置:首页 > python > 正文内容

python简单的加密解密

root5年前 (2021-02-04)python972

rsa 是非对称加密

公钥加密,私钥解密

pip install rsa

import rsa
from binascii import b2a_hex, a2b_hex

class rsacrypt():
    def __init__(self):
        ''''''

    def encrypt(self, text):
        #加密文本
        self.ciphertext = rsa.encrypt(text.encode(),self.pubkey)
        return b2a_hex(self.ciphertext)

    def decrypt(self, text):
        #解密文本
        decrypt_text = rsa.decrypt(a2b_hex(text),self.prikey)
        return decrypt_text

    def create_key(self):
        #获取一对秘钥
        pubkey, prikey = rsa.newkeys(256)
        pub = pubkey.save_pkcs1()
        pri = prikey.save_pkcs1()
        return (pub,pri)

    def load_pub_key(self,pub):
        #导入公钥,为加密准备
        self.pubkey = rsa.PublicKey.load_pkcs1(pub)

    def load_pri_key(self,pri):
        #导入私钥,为解密准备
        self.prikey = rsa.PrivateKey.load_pkcs1(pri)

if __name__ == '__main__':
    my_rsacrypt = rsacrypt()
    pub,pri=my_rsacrypt.create_key()
    print(pub,pri)
    my_rsacrypt.load_pub_key(pub)
    my_rsacrypt.load_pri_key(pri)
    a = my_rsacrypt.encrypt("123")
    print(a)
    b = my_rsacrypt.decrypt(a)
    print(b)

b'5e1ed0b7583e9cdb3f9161fd6e045c29458f703cabb91a848a84e95cab35a113'

b'123'



扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=77

分享给朋友:

相关文章

父进程退出后如何退出子进程

我们知道当子进程推出的时候,父进程会收到 SIGCHLD 信号,从而可以采取相应的操作。但是当父进程退出的时候,系统会把子进程的父进程更改为pid=0的 init 进程,而且子进程不会收到任何信号。而我们经常想在父进程退出的时候,让子进程也...

selenium控制webdriver  设置请求头。只能设置简单的。自定义和固定的格式无法修改成功

selenium控制webdriver 设置请求头。只能设置简单的。自定义和固定的格式无法修改成功

time selenium webdriver options webdriver.() options.() options.( options.() browser webdriver....

python3.5.2版本不支持的语法格式

在使用geoip2的时候,运行被告知包中语法错误查看详情发现在python 3.5中不支持注释var类型如下语法 _buffer: Union[bytes, FileBuffer, "mma...

pip 升级到指定版本,但是py2的pip版本务必在20版本以内包含20版本

python3 -m pip install --user --upgrade pip==9.0.3(换成你想要的版本编号)如果python2的只能升级到20+版本。超过会出现不支持的情况...

python csvw格式文件转parquet格式文件

用到的包: pandas    pyarrow    pandas pd df pd.(,,) df.()要求csv文件 要有头行一定要安装pyarro...

python用requests发送模拟请求忽略https的认证,忽略警告

import warnings warnings.filterwarnings('ignore')在文件头添加忽略警告信息的输出r = requests.get('https://kyfw.12306.cn&#...