日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python RSA加密的示例

瀏覽:27日期:2022-07-02 16:18:26

RSA加密是一種非對稱加密,通常使用公鑰加密,私鑰解密,私鑰簽名,公鑰驗簽。

在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的.RSA算法通常是先生成一對RSA密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網絡服務器中注冊。

RSA是一種公鑰密碼算法,加密算法是將明文m(m<n是一個整數)加密成密文c,即明文數字m的 E 次方求mod N,也就是將明文與自己相乘E次,然后結果除以N求余數,余數就是密文c,E和N組合就是公鑰;解密算法為將密文c解密為明文m,即密文數字c的D次方求mod N,也就是將密文與自己相乘D次,然后結果除以N求余數,余數就是明文m,D和N組合就是私鑰。

以下是關于RSA生成公鑰私鑰、加密、解密、加簽、驗簽的示例。

1、生成公鑰私鑰:

from Crypto import Randomfrom Crypto.PublicKey import RSA # 偽隨機數生成器random_generator = Random.new().read# rsa算法生成實例rsa = RSA.generate(1024, random_generator)# 私鑰的生成private_pem = rsa.exportKey()with open('private.pem', 'wb') as f: f.write(private_pem)# 公鑰的生成public_pem = rsa.publickey().exportKey()with open('public.pem', 'wb') as f: f.write(public_pem)

生成的公鑰私鑰文件在項目路徑下,也可以直接指定生成文件路徑。

文件樣例

python RSA加密的示例

生成的公鑰私鑰格式是固定的,秘鑰中間無空格無換行,秘鑰末尾也空格無換行,如下:

-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEedv+5NsbqAh6pjOMKF8I7FGaet3QMUi0g5xDfQAM219qqXnoPi2hmCMjR8MWJV/zyMZ6IiRG/pvrZ2ZhfDNFdW3ZSfHczRUvabABzWAr/57/eDBjswv4RQA+gUS6t8wFY/iV+O3i9+d79iN3VhUogfI33Ru3+RPFeFW88tYUhwIDAQAB-----END PUBLIC KEY----- -----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQDEedv+5NsbqAh6pjOMKF8I7FGaet3QMUi0g5xDfQAM219qqXnoPi2hmCMjR8MWJV/zyMZ6IiRG/pvrZ2ZhfDNFdW3ZSfHczRUvabABzWAr/57/eDBjswv4RQA+gUS6t8wFY/iV+O3i9+d79iN3VhUogfI33Ru3+RPFeFW88tYUhwIDAQABAoGAApzaO5QAg+gioLroEZOR2/UEisjafUPCg0ACynT1lLYwGSOCzv9QrQbwZK42HmvF0GCZnxMoJ1eIbEN2PZKgveQ/o4o8OdhuSk8pcDY72QwQHgSh1yfdvqkulo7Dvdmjz63DVSrknYRQFYSHIwUPVVTWyT80OTCYSn3JGqNKa9kCQQDZUbtlBvcPzP4T5hRaH9XvCh3PPusQKGPzVRVLn+qZ30N2PNgttYKRMshlz1WMts2ZAKr3b3BLT6GTshE5KatfAkEA53JkuV1vUEMg5j1ClgrwTs65yLWb+NbLH84xekrkkSxCkVjE7J/NQV7Uk87na49LuztBaECBmaZyTQnFKk7P2QJAMzcc18lVbmbcNipR/49jJquWrOHiGfO64nzZwPHWIx9H0dSzCcquE7QJIF1Fhx0JxRYwNJIRv93rcVhU0MjuNwJAIgI/JrXCC4sxpGNQC3gkA5CA4Cs/dfsp8cx8nLmwiFx2k6D1nseEg5yJpAZ9HuL5f9OfMtB3uroohYVwAV1/UQJBAIZQkryoOJxPbfWvIIGBOAlS/QqfE5kLV+3L2RUtBlacnJykMucrdDx1gVKgoREUElxpYtlWI17h9MeNXRICgIM=-----END RSA PRIVATE KEY-----2、加密(使用公鑰加密)

from Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5import base64 # 加密message = 'Hello,This is RSA加密'rsakey = RSA.importKey(open('public.pem').read())cipher = Cipher_pkcs1_v1_5.new(rsakey) #創建用于執行pkcs1_v1_5加密或解密的密碼cipher_text = base64.b64encode(cipher.encrypt(message.encode(’utf-8’)))print(cipher_text.decode(’utf-8’))

加密結果:

Y1oivzbBDIEWX+NaXYLCJo5A226TmuemketZMUM3U80Rw3gSETjG5rHQ+S++Yao+iGQ5jSJA2yjkDtDAjdvi2VUz15LRSkdeKoliWnWy93KKl+aNEsBl3SUicATUgfNWU5ILo+DiltpF79AfIEhPptAz7+gN11KAf5LjfcQZ2+0=

這里每次使用公鑰加密后的結果都不一致,跟對數據的padding即填充有關。

加密時支持的最大字節數與證書有一定關系。加密時支持的最大字節數:證書位數/8 -11(比如:2048位的證書,支持的最大加密字節數:2048/8 - 11 = 245)

1024位的證書,加密時最大支持117個字節,解密時為128;2048位的證書,加密時最大支持245個字節,解密時為256。

如果需要加密的字節數超出證書能加密的最大字節數,此時就需要進行分段加密。

3、解密(使用私鑰解密)

from Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5import base64 # 解密cipher_text = 'Y1oivzbBDIEWX+NaXYLCJo5A226TmuemketZMUM3U80Rw3gSETjG5rHQ+S++Yao+iGQ5jSJA2yjkDtDAjdvi2VUz15LRSkdeKoliWnWy93KKl+aNEsBl3SUicATUgfNWU5ILo+DiltpF79AfIEhPptAz7+gN11KAf5LjfcQZ2+0='encrypt_text = cipher_text.encode(’utf-8’)rsakey = RSA.importKey(open('private.pem').read())cipher = Cipher_pkcs1_v1_5.new(rsakey) #創建用于執行pkcs1_v1_5加密或解密的密碼text = cipher.decrypt(base64.b64decode(encrypt_text), '解密失敗')print(text.decode(’utf-8’))

解密結果,與加密前信息一致:

Hello,This is RSA加密4、加簽(使用私鑰加簽)

使用私鑰加簽,每次簽名是一致的。

from Crypto.PublicKey import RSAfrom Crypto.Signature import PKCS1_v1_5 as Signature_pkcs1_v1_5from Crypto.Hash import SHAimport base64 #加簽message = 'This is a request message...'rsakey = RSA.importKey(open('private.pem').read())signer = Signature_pkcs1_v1_5.new(rsakey)digest = SHA.new()digest.update(message.encode('utf-8'))sign = signer.sign(digest)signature = base64.b64encode(sign)print(signature.decode(’utf-8’))

簽名結果:

fd99fQpbH48VT9YQKepyHSip9pwrJkm1PN3ZykHNrfTVk555fv392E7MtbIfcligOCWUx8nd3g+7J0Fo3x+9G1Y6MJs0CuMCbA4qulUMNGjzUpsN1URorMZfPKjPvhf22ARH9qZEnebQ7UUGO3ioy4nylZONb3Ldhga+PKyxYTM=5、驗簽(使用公鑰驗簽)

from Crypto.PublicKey import RSAfrom Crypto.Signature import PKCS1_v1_5 as Signature_pkcs1_v1_5from Crypto.Hash import SHAimport base64 #驗簽message_verify = 'This is a request message...'signature = 'fd99fQpbH48VT9YQKepyHSip9pwrJkm1PN3ZykHNrfTVk555fv392E7MtbIfcligOCWUx8nd3g+7J0Fo3x+9G1Y6MJs0CuMCbA4qulUMNGjzUpsN1URorMZfPKjPvhf22ARH9qZEnebQ7UUGO3ioy4nylZONb3Ldhga+PKyxYTM='rsakey = RSA.importKey(open('public.pem').read())verifier = Signature_pkcs1_v1_5.new(rsakey)hsmsg = SHA.new()hsmsg.update(message_verify.encode('utf-8'))is_verify = verifier.verify(hsmsg, base64.b64decode(signature))print(is_verify)

驗簽結果:

True

以上就是python RSA加密的示例的詳細內容,更多關于python rsa加密的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩在线不卡| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲人www| 婷婷精品在线| 日韩精品免费视频人成| 中文字幕免费精品| 免费看欧美美女黄的网站| 免费日韩av| 美女国产一区| 日韩精品亚洲专区| 国产日韩欧美一区在线| 久久av国产紧身裤| 日韩av有码| 欧美成人亚洲| 麻豆9191精品国产| 日韩精彩视频在线观看| 91成人在线网站| 久久三级中文| 天堂8中文在线最新版在线| 91精品啪在线观看国产18| 黑丝一区二区三区| 中文字幕日本一区二区| 国产欧美自拍一区| www.51av欧美视频| 欧美91福利在线观看| 国产精品呻吟| 国产精品一区亚洲| 黑人精品一区| 亚洲一区中文| 日韩av不卡在线观看| 精品一区二区三区的国产在线观看 | 久久久精品区| 成人精品亚洲| 亚洲综合色婷婷在线观看| 国产福利一区二区精品秒拍| 老牛影视精品| 日韩中文字幕亚洲一区二区va在线| 国产亚洲观看| 久久国产中文字幕| 日韩不卡一区二区三区| 成人国产精选| 亚洲v在线看| 亚洲精品动态| 日韩不卡一区| 亚洲日本免费电影| 97精品97| 美女精品在线观看| 国产成人精品一区二区三区视频 | 日韩在线观看一区| 免费成人在线视频观看| 国产成人精选| 亚洲尤物av| 国产资源在线观看入口av| 亚洲图片久久| 日韩一区三区| 69堂精品视频在线播放| 亚洲www免费| 日韩av网站在线免费观看| 亚洲www啪成人一区二区| 婷婷久久免费视频| 久久亚洲成人| 久久久久伊人| 亚洲最新av| 久久中文字幕av一区二区不卡| 91嫩草精品| 亚洲精品电影| 精品国产乱码久久久久久樱花 | 六月丁香综合| 97在线精品| 日韩久久一区| 亚洲一级在线| 在线一区av| 国产精品一区二区三区www| 在线一区免费观看| 丁香婷婷久久| 欧美天堂一区| 免费在线观看不卡| 久久国产中文字幕| 麻豆91精品视频| 蜜臀av一区二区在线免费观看| 蜜臀国产一区| 久久一区国产| 国产日韩一区二区三区在线播放| 在线亚洲观看| 久久久久国产精品一区三寸| 久久99视频| 欧美久久亚洲| 日本一不卡视频| 三级在线观看一区二区| 国户精品久久久久久久久久久不卡| 欧美激情麻豆| 欧美日韩一区二区三区不卡视频| 视频一区二区中文字幕| 99久久亚洲精品蜜臀| 国产精品99一区二区三区| 久久av影视| 国产欧美成人| 日本va欧美va精品发布| 天堂av在线一区| 黄色成人精品网站| 性欧美xxxx免费岛国不卡电影| 成人在线观看免费视频| 国产福利一区二区三区在线播放| 日本a级不卡| 亚洲精品国产精品粉嫩| 免费的成人av| 亚洲一区日韩| 在线 亚洲欧美在线综合一区| 午夜精品久久久久久久久久蜜桃| 精品久久97| 精品国产乱码久久久久久樱花| 国产欧美啪啪| 国产精品自在| 国产精品jk白丝蜜臀av小说| 日韩成人一级| 日韩va亚洲va欧美va久久| 色综合视频一区二区三区日韩 | 亚洲成人一区| 婷婷激情久久| 亚洲午夜av| 1000部精品久久久久久久久| 亚洲91视频| 91精品蜜臀一区二区三区在线| 欧美日韩尤物久久| 1000部精品久久久久久久久| 亚洲精品午夜av福利久久蜜桃| 99国产精品| 先锋影音久久久| 亚洲最新av| 91免费精品国偷自产在线在线| 欧美亚洲自偷自偷| 国产伦精品一区二区三区视频| 国产精品成人国产| 国产成人精选| 久久久精品五月天| 婷婷激情图片久久| 99re国产精品| 久久亚洲不卡| 日本中文字幕一区二区视频 | 少妇精品久久久| 日韩国产在线观看| 你懂的国产精品永久在线| 激情不卡一区二区三区视频在线| 日韩一区欧美| 国产精品日本欧美一区二区三区| 久色成人在线| 国产欧美日韩精品一区二区免费 | 国内精品99| 国产精品嫩草99av在线| 最新亚洲国产| 国产精品成人**免费视频| 色婷婷色综合| 激情久久久久久久| 美女网站久久| 国产免费av国片精品草莓男男| 国内精品麻豆美女在线播放视频| 亚洲综合在线电影| 久久成人一区| 久久国内精品自在自线400部| 国产精品igao视频网网址不卡日韩 | 国产精品久久久久久久久久齐齐| 精品视频一区二区三区在线观看 | 国产精区一区二区| 日本一区二区免费高清| 欧美日韩国产一区精品一区| 日本不卡在线视频| 9999国产精品| 日韩精品一二三四| 国产精品久久久久久久久久白浆 | 久久精品亚洲人成影院| 久久亚洲风情| 欧美国产视频| 蜜桃视频欧美| 日本成人在线视频网站| 日本久久黄色| 免费观看在线色综合| 国语对白精品一区二区| 99热精品在线观看| 久久精品资源| 久热精品在线| 国产精选在线| 日本一区二区中文字幕| 日韩欧美精品一区| 亚洲精品国产精品粉嫩| 国产一区二区三区不卡视频网站| 99在线精品免费视频九九视| 欧美黄色一区| 三级亚洲高清视频| 欧美国产小视频| 亚洲精品少妇| 99tv成人| 麻豆成人在线观看| 日韩制服丝袜先锋影音| 日韩免费视频| 国产欧美日韩在线观看视频| 亚洲国产一区二区三区在线播放 | 亚洲女同一区| 国产一区丝袜| 日韩欧美中文字幕电影| 欧美日韩水蜜桃|