zoukankan      html  css  js  c++  java
  • python中对RSA的加密和解密

    首先,生成一对密钥,并保存

    def create_keys(): # 生成公钥和私钥
    (pubkey, privkey) = rsa.newkeys(1024)
    pub = pubkey.save_pkcs1()
    with open('public.pem','wb+')as f:
    f.write(pub)

    pri = privkey.save_pkcs1()
    with open('private.pem','wb+')as f:
    f.write(pri)


    对信息进行加密和解密的过程:

    def encrypt(): # 用公钥加密
    with open('public.pem', 'rb') as publickfile:
    p = publickfile.read()
    pubkey = rsa.PublicKey.load_pkcs1(p)
    original_text = 'have a good time'.encode('utf8')
    crypt_text = rsa.encrypt(original_text, pubkey)
    print(crypt_text)
    return crypt_text # 加密后的密文


    def decrypt(crypt_text): # 用私钥解密
    with open('private.pem', 'rb') as privatefile:
    p = privatefile.read()
    privkey = rsa.PrivateKey.load_pkcs1(p)
    lase_text = rsa.decrypt(crypt_text, privkey).decode() # 注意,这里如果结果是bytes类型,就需要进行decode()转化为str

    print(lase_text)


    if __name__ == '__main__':
    crypt_text = encrypt()
    lase_text = decrypt(crypt_text)

  • 相关阅读:
    JSP九大内置对象的作用和用法总结(转)
    Java web的几种异常处理 (转)
    response.getWriter().write()与out.print()的区别(转)
    【JavaWeb】Session(转)
    java web中cookies的用法 转
    1123
    1120
    jsp 内置对象
    include与jsp:include区别
    11.24作业1
  • 原文地址:https://www.cnblogs.com/miaoweiye/p/11972621.html
Copyright © 2011-2022 走看看