前端加密方法

2021-10-21 21:03:05 字數 2685 閱讀 6871

window.atob()window.btoa()可以實現對base64格式的資料進行解碼和編碼,其相容性是主流瀏覽器,ie10及以上。

window.atob(encodedstr)只可以解碼用btoa方法編碼的字串。

window.btoa():將ascii字串二進位制資料轉換成乙個base64編碼過的字串,但該方法不能直接作用於unicode字串

<

script

>

varstr

='runoob'

varenc

=window

.btoa

(str)/

/編碼成base64的

vardec

=window

.atob

(enc)/

/把base64解碼

varres

='編碼字串為: '

+enc+'

'+'解碼後字串為: '

+dec

console

.log

(res

)<

/script

>

var

str=

btoa

(encodeuricomponent

("中文漢字"))

;//還可以解碼回來

decodeuricomponent

(atob

(enc))

=>

中文漢字

首先引入相關js,對要加密的內容直接加密

<

script

src=

"">

<

/script

>

<

script

>

varb=$

("#logpassword");

$.md5(b.

val())

<

script

>

md5沒有解密演算法,或者說解密演算法很複雜,所以可以在資料庫中存放經過兩次md5加密的的內容,也可以再配合加『鹽』。

console

.log

(md5

(md5

("condor hero")+

"a")

);

先引入相關配置檔案

<

script

src=

"js/jsencrypt.js"

>

<

/script

>

前端在向後台發起登入請求之前,先請求後台獲取公鑰的方法

var

publickey

=null;$

.ajax(;

}});

通過公鑰對使用者名稱和密碼加密

encrypt

.setpublickey

(publickey);

varusername

;var

password

;username

=encrypt

.encrypt(vm

.username

.trim()

);password

=encrypt

.encrypt(vm

.password

.trim()

);

接下來就是用加密後的使用者名稱密碼請求後台,使用者名稱密碼傳輸時千萬不要字串拼接方式傳輸

$

.ajax(,

datatype:

"json"

,success:

function

(result

)else}}

);

引入配置檔案

<

script

type

="text/ecmascript"

src=

"sha1.js"

>

<

/script

>

加密

var

sha=

hex_sha1

('mima123465');

console

.log

(sha

);

sha1加密是一種不可逆的加密方式,將明文轉換成一段雜湊值(摘要),將報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與傳送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改。

AES加密解密前端使用方法

npm install crypto jsimport cryptojs from crypto js var key cryptojs.enc.latin1.parse 秘鑰 秘鑰 後端提供 var iv cryptojs.enc.latin1.parse 常量 常量 後端提供 export de...

前端實現rsa加密

rsa加密演算法是一種非對稱加密演算法。對極大整數做因數分解的難度決定了rsa演算法的可靠性。換言之,對一極大整數做因數分解愈困難,rsa演算法愈可靠。假如有人找到一種快速因數分解的演算法的話,那麼用rsa加密的資訊的可靠性就肯定會極度下降。但找到這樣的演算法的可能性是非常小的。今天只有短的rsa鑰...

前端加密和解密

1.第一種就是base64格式的加密與解密 window.atob 與window.btoa 可以實現對base64格式的資料進行解碼和編碼,其相容性是主流瀏覽器,ie10及以上。window.atob encodedstr 只可以解碼用btoa方法編碼的字串。window.btoa 將ascii字...