最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)RSA加密(解密)算法

 更新時間:2016年02月17日 11:43:43   投稿:mrr  
RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數(shù)密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標準,下面通過本文給大家介紹python實現(xiàn)RSA加密(解密)算法,需要的朋友參考下

RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數(shù)密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標準。

今天只有短的RSA鑰匙才可能被強力方式解破。到2008年為止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要其密鑰的長度足夠長,用RSA加密的信息實際上是不能被解破的。但在分布式計算和量子計算機理論日趨成熟的今天,RSA加密安全性受到了挑戰(zhàn)。

RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。

核心代碼:

# -*- encoding:gbk -*- import math,random#導(dǎo)入模塊 def prime_num(max_num):#生成小于max_num的素數(shù)列表 prime_num=[] for i in xrange(2,max_num): temp=0 sqrt_max_num=int(math.sqrt(i))+1 for j in xrange(2,sqrt_max_num): if i%j==0: temp=j break if temp==0: prime_num.append(i) return prime_num def rsa_key():#生成密鑰的函數(shù) prime=prime_num(400)#小于400的素數(shù)列表 p=random.choice(prime[-50:-1])#從后50個素數(shù)中隨機選擇一個作為p q=random.choice(prime[-50:-1])#從后50個素數(shù)中隨機選擇一個作為q while(p==q):#如果p和q相等則重新選擇 q=random.choice(prime[-50:-1]) N=p*q r=(p-1)*(q-1) r_prime=prime_num(r) e=random.choice(r_prime)#隨機選一個素數(shù) d=0 for n in xrange(2,r): if (e*n)%r==1: d=n break return ((N,e),(N,d)) def encrypt(pub_key,origal):#生成加密用的公鑰 N,e=pub_key return (origal**e)%N def decrypt(pri_key,encry):#生成解密用的私鑰 N,d=pri_key return (encry**d)%N

下面一段代碼給大家介紹python_rsa加密解密

使用python進行rsa加密與加密,包括公鑰加密私鑰解密,私鑰加密公鑰解密。(需要安裝M2Crypto庫)。

代碼:

#!/usr/bin/env python
#encoding=utf-8 
'''
測試rsa加密解密
'''
from M2Crypto import RSA 
msg = 'aaaa-aaaa'
rsa_pub = RSA.load_pub_key('rsa_pub.pem')
rsa_pri = RSA.load_key('rsa_pri.pem')
print '*************************************************************'
print '公鑰加密,私鑰解密'
ctxt = rsa_pub.public_encrypt(msg, RSA.pkcs1_padding)
ctxt64 = ctxt.encode('base64')
print ('密文:%s'% ctxt64)
rsa_pri = RSA.load_key('rsa_pri.pem')
txt = rsa_pri.private_decrypt(ctxt, RSA.pkcs1_padding)
print('明文:%s'% txt)
print '*************************************************************'
print '私鑰加密,公鑰解密'
ctxt_pri = rsa_pri.private_encrypt(msg, RSA.pkcs1_padding)
ctxt64_pri = ctxt.encode('base64')
print ('密文:%s'% ctxt64_pri)
txt_pri = rsa_pub.public_decrypt(ctxt_pri, RSA.pkcs1_padding)
print('明文:%s'% txt_pri)

庫的安裝說明

M2Crypto庫的下載地址:

https://github.com/martinpaljak/M2Crypto

或者:https://pypi.python.org/pypi/M2Crypto

依賴的庫:openssh-devel gcc swig (這3個庫在centos上可以直接使用yum安裝)

相關(guān)文章

  • wxPython實現(xiàn)整點報時

    wxPython實現(xiàn)整點報時

    這篇文章主要為大家詳細介紹了wxPython實現(xiàn)整點報時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)

    詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)

    這篇文章主要介紹了詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù),目前Python的內(nèi)建映射類型只有字典一種,需要的朋友可以參考下
    2015-08-08
  • python修改pip install默認安裝路徑的詳細步驟

    python修改pip install默認安裝路徑的詳細步驟

    pip安裝的第三方庫默認存放在C盤中,為了便于管理和不過度占用C盤空間所以想修改默認的pip路徑,文章通過圖文結(jié)合的方式給大家介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • pyqt5 QListWidget的用法解析

    pyqt5 QListWidget的用法解析

    這篇文章主要介紹了pyqt5 QListWidget的用法解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • opencv 形態(tài)學(xué)變換(開運算,閉運算,梯度運算)

    opencv 形態(tài)學(xué)變換(開運算,閉運算,梯度運算)

    這篇文章主要介紹了opencv 形態(tài)學(xué)變換(開運算,閉運算,梯度運算),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Pycharm中flask開啟debug模式的詳細流程

    Pycharm中flask開啟debug模式的詳細流程

    PyCharm是一個強大的集成開發(fā)環(huán)境(IDE),非常適合Python開發(fā)者,包括Flask框架,當(dāng)你在使用Flask開發(fā)Web應(yīng)用時,Debug功能是非常重要的,它允許你在運行時檢查程序的狀態(tài)、調(diào)試代碼錯誤,本文將介紹Pycharm中flask開啟debug模式的詳細流程,需要的朋友可以參考下
    2024-08-08
  • numpy.reshape()的函數(shù)的具體使用

    numpy.reshape()的函數(shù)的具體使用

    本文主要介紹了numpy.reshape()的函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python實現(xiàn)對arxml文件的操作方法

    python實現(xiàn)對arxml文件的操作方法

    本篇文章給大家介紹python實現(xiàn)對arxml文件的操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • Python IDE環(huán)境之 新版Pycharm安裝詳細教程

    Python IDE環(huán)境之 新版Pycharm安裝詳細教程

    這篇文章主要介紹了Python IDE環(huán)境之 新版Pycharm安裝教程,本文教程給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python 檢查是否為中文字符串的方法

    python 檢查是否為中文字符串的方法

    今天小編就為大家分享一篇python 檢查是否為中文字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

兴安盟| 昌黎县| 安阳市| 泌阳县| 张家口市| 宁武县| 汾西县| 宁安市| 理塘县| 南漳县| 海口市| 合江县| 会同县| 从化市| 福安市| 九江市| 忻州市| 曲周县| 泸溪县| 车致| 休宁县| 正蓝旗| 江永县| 沿河| 万山特区| 曲水县| 哈巴河县| 准格尔旗| 广州市| 龙游县| 阿克苏市| 周宁县| 会东县| 郯城县| 温宿县| 济阳县| 扎囊县| 连城县| 隆回县| 通渭县| 尉氏县|