前端js,後台python實現RSA非對稱加密

2022-05-05 15:15:11 字數 1720 閱讀 7699

先熟悉使用 在後台使用rsa實現秘鑰生產,加密,解密;  

#

-*- encoding:utf-8 -*-

import

base64

from crypto import

random

from crypto.cipher import

pkcs1_v1_5 as cipher_pkcs1_v1_5

from crypto.publickey import

rsa#

偽隨機數生成器

random_generator =random.new().read

#rsa演算法生成例項

rsa = rsa.generate(1024, random_generator)

#master的秘鑰對的生成

private_pem =rsa.exportkey()

#生產私鑰私鑰並放到檔案裡

with open('

master-private.pem

', 'w'

) as f:

f.write(private_pem)

public_pem =rsa.publickey().exportkey()

with open(

'master-public.pem

', 'w'

) as f:

f.write(public_pem)

#用公鑰加密

#被加密的資料

message = '

i_love_yaya'#

開啟公鑰檔案

with open('

master-public.pem

') as f:

key =f.read()

rsakey =rsa.importkey(key)

cipher =cipher_pkcs1_v1_5.new(rsakey)

#加密時使用base64加密

cipher_text =base64.b64encode(cipher.encrypt(message))

#cipher_text = cipher.encrypt(message)

print

cipher_text

#用私鑰解密

#開啟秘鑰檔案

with open('

master-private.pem

') as f:

key =f.read()

rsakey =rsa.importkey(key)

cipher =cipher_pkcs1_v1_5.new(rsakey)

#text = cipher.decrypt(cipher_text, random_generator)

#使用base64解密,(在前端js加密時自動是base64加密)

text =cipher.decrypt(base64.b64decode(cipher_text), random_generator)

print text

前後臺共同完成rsa非對稱加密:大致思路為  first:後台生產公鑰私鑰,next:後台把公鑰給前台,than:前台用公鑰加密並傳送給後台,finally:後台使用秘鑰解密。

注意事項:前端通過公鑰加密的資料1%的概率會出現 加密後的資料結尾有2個等於號(=)的情況,這時,後端會解密失敗,前端在生成加密資料後,自行校驗加密後的資料是否包含2個=,如果出現,則從新加密

前端JS 後台C 編碼解碼。

最近做專案,出現中文亂碼的問題,特地研究一下。gb2312,指的是中文 utf8,指的是國標,包含中文 英文。但是通過jquery.ajax的get post,如果直接傳遞中文或者特殊字元的特使字元的時候,這個時候就會出現亂碼現象。js編碼 encodeuri 針對url,不轉義 encodeuri...

js分頁實現,前端實現。

主要是借鑑了網上乙個例子,自己重新加了樣式,新增了跳轉,修改了一些小地方,用於和大家一起分享,前端分頁的技巧,的資料是我已經寫好了,其實大家也可以前端渲染 然後再分頁,都是可以的。其實分頁最關鍵是這兩句 var startrow currentpage 1 pagesize 1 currentpag...

js分頁實現,前端實現

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!主要是借鑑了網上乙個例子,自己重新加了樣式,新增了跳轉,修改了一些小地方,用於和大家一起分享,前端分頁的技巧,的資料是我已經寫好了,其實大家也可以前端渲染 然後再分頁,都是可以的。其實分頁最關鍵是這兩句 var startrow currentpa...