zoukankan      html  css  js  c++  java
  • RSA

    RSA 简介

    RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。

    这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。

    是由一对密钥来进行加解密的过程,分别称为公钥和私钥。

    公钥加密,私钥解密

    两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。

    通常个人保存私钥,公钥是公开的(可能同时多人持有)


    RSA加密、签名区别

      加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的作用有所混淆。简单的说,加密是为了防止信息被泄露,而签名是为了防止信息被篡改


    加解密

    import rsa
    import base64
    
    rsa_pubkey, rsa_privkey = rsa.newkeys(2048)  # 生成密钥对,返回(PublicKey(n,e), PrivateKey(n,e,d,p,q)),即(公钥对象,私钥对象)
    
    # 加密
    text = 'hello world'
    crypto_text_e = base64.b64encode(rsa.encrypt(text.encode('utf-8'), rsa_pubkey))
    print(crypto_text_e.decode('utf-8'))
    
    # 解密
    crypto_text_d = rsa.decrypt(base64.b64decode(crypto_text_e), rsa_privkey)
    print(crypto_text_d.decode('utf-8'))
    
    #  base64.b64encode(),base64.b64decode() 返回类型都是bytes,打印时添加.decode()将bytes转为str.
    
  • 相关阅读:
    15 Django组件-中间件
    Android学习笔记-Dialog详解
    python爬取世界疫情信息到Mysql
    《构建之法》阅读笔记3
    团队项目--校园百晓生
    团队项目--校园百晓生
    php安装配置及问题解决
    《构建之法》阅读笔记2
    云服务器配置(转载)
    第五周总结
  • 原文地址:https://www.cnblogs.com/kai-/p/14659517.html
Copyright © 2011-2022 走看看