密碼加密js
Ⅰ 小程序:JS AES加密解密(ECB/CBC)
序言:介紹一下javascript下AES加密和解密,運用的工作模式為ECB(電碼本模式Electronic Codebook Book),填充方式為(NoPadding),及CBC(密碼分組鏈接模式Cipher Block Chaining)。這飢帆里用爛遲雹到旦裂的是CryptoJS。
Ⅱ HTML5三種對密碼加密的方法
1、base64加密:在頁面中引入base64.js文件,調用方法為:
2、md5加密:在頁面中引用md5.js文件,調用方法為
3、sha1加密,據說這是最安全的加密:頁面中引入sha1.js,調用方法為
base64.js: http://files.cnblogs.com/mofish/base64.js
md5.js: http://files.cnblogs.com/mofish/md5.js
sha1.js: http://files.cnblogs.com/mofish/sha1.js
我們可以知道:escape()除了 ASCII 字母、數字和特定的符號外,對傳進來的字元串全部進行轉義編碼,因此如果想對URL編碼,最好不要使用此方法。而encodeURI() 用於編碼整個URI,因為URI中的合法字元都不會被編碼轉換。encodeURIComponent方法在編碼單個URIComponent(指請求參數)應當是最常用的,它可以講參數中的中文、特殊字元進行轉義,而不會影響整個URL。
請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(比如協議、主機名、路徑或查詢字元串)。因此 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號。
一、encodeURI()//轉義一個URI中的字元
語法:encodeURI(uri)//這個在編碼不同的AJAX請求時,解決中文亂碼問題經常用到。
二、decodeURI()//解碼一個URI中的字元
語法:decodeURI(uri)
三、encodeURIComponent()//轉義URI組件中的字元
四、decodeURIComponent()//解碼一個URI組件中的字元
五、escape()//編碼一個字元串
語法:escape(value);
六、unecape()//解碼一個由escape()函數編碼的字元串
Ⅲ 記錄一下前端使用CryptoJS的幾種加密方式
自己太小白了,之前在PC端項目中使用的MD5加密,現在的小程序項目使用了 CryptoJS 裡面的 enc-base64 和 hmac-sha1 ,之前沒有用到過這兩種,所以比較疑惑,為何在小程序不繼續使用 MD5 呢?所以在這里記錄一下自己解疑惑的一些知識點。
隨著互聯網的興起,我們對信息的安全越來越受重視,這樣就導致在web開發中,對用戶密碼等各種加密變得更加重要了。與伺服器的交互中,為了確保數據傳輸的安全性,避免被黑客抓包篡改。
對於Base64編碼的,我覺得看一篇文章能夠解決你的疑惑,我在這里就不贅述了
🧐 Base64編碼原理
如: 用戶密碼,請求參數,文件加密
如: 介面參數簽名驗證服務
支付數據、CA數字證書
前端的朋友可能會關注前端js加密,我們在做 WEB 的登錄功能時一般是通過 Form 提交或 Ajax 方式提交到伺服器進行驗證的。為了防止抓包,登錄密碼肯定要先進行一次加密(RSA),再提交到伺服器進行驗證。一些大公司都在使用,比如淘寶、京東、新浪 等。
前端加密也有很多現成的js庫,如:
JS-RSA: 用於執行OpenSSL RSA加密、解密和密鑰生成的Javascript庫, https://github.com/travist/jsencrypt
MD5: 單向散列加密md5 js庫, https://github.com/blueimp/JavaScript-MD5
crypto-js: 對稱加密AES js庫, https://github.com/brix/crypto-js
-CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密演算法。
HMAC 系列是消息驗證,用於驗證一個消息是否被篡改——如網站上傳遞 email 和 hmac(email),則接收時可以通過 hmac(email) 獲知 email 是否是用戶偽造的
Ⅳ 功能強大的JS加密庫-CryptoJS
CryptoJS是JavaScript的一個加解密庫集合,可以說平時開發中需要用到的加解密方法,它這里都包含了
1、MD5加密,這是一種不可逆的加密
2、SHA-1加密,是現有 SHA 哈希函數中最成熟的,它用於各種安全應用程序和協議
3、SHA-2加密,不像 SHA-1 那樣廣泛使用,盡管它似乎提供了更好的安全性
4、AES加解密, 是美國聯邦信息處理標准 (FIPS)提出的高級加密標准
5、DES加解密, DES 是以前佔主導地位的加密演算法,並作為官方聯邦信息處理標准 (FIPS) 發布,由於密鑰大小較小,DES 現在被認為是不安全的
6、轉Base64
好了常用的加解密方法就介紹到這了
覺得效果不錯的請幫忙加個關注點個贊,經常分享前端實用開發技巧
Ⅳ 用JavaScript加密保護網站頁面
我們經常會遇到一些必須慶絕輸入用戶名和密碼才能進入的網站。其實我們也可以對自己的網站頁面進行簡單的加密改核,具體操作請看下文:
第一步:創建密碼登錄頁
將如下代碼加入HTML的BODY區:
[code]
script LANGUAGE="JavaScript"
!--
flag=0
flag2=0
--
/script
script LANGUAGE="JavaScript" SRC="password.txt" //密碼表文件
/script
script LANGUAGE="JavaScript" SRC="password1.txt" //密碼驗證文件
/script
h1 align="center"Login/h1
script LANGUAGE="JavaScript"
!--
function main()
{
member = document.all.username.value
pass = document.all.password.value
encryption()
password()
}
--
/script
p輸入用戶名: input TYPE="TEXT" ID="username" size="20" br
請輸入密碼: input TYPE="PASSWORD" ID="password" size="20"
input TYPE="BUTTON" ID="button" onclick="main()" value="Enter!" align="center" /p[/code][button value="復制代碼"]
第二步:分別編輯文件1(password.txt)和文件2(password1.txt)核差掘,適合你自己的頁面情況,主要是密碼設定和用戶名設定。
文件1:password.txt
一張密碼表,一看就懂,沒有什麼難度。可以自由設計,注意大小寫的區別。
[code]function encryption()
{
mm = "Z"
k = "j"
b = "p"
mmmm = ""
ccc = "6"
l = "i"
c = "q"
m = "s"
abcd = "m"
o = "n"
u = "z"
e = "d"
gg = "U"
p = "u"
jj = "O"
v = "a"
j = "y"
x = "c"
r = "n"
bb = "D"
cc = "K"
z = "w"
a = "x"
ee = "G"
n = "f"
ff = "T"
i = "g"
w = "r"
ii = "V"
kk = "I"
q = "o"
oooo = ")"
d = "e"
nn = "E"
oo = "P"
pp = "X"
t = "h"
s = "v"
rr = "S"
ss = "L"
tt = "R"
uu = "A"
h = "k"
vv = "C"
ww = "M"
aa = "Y"
xx = "Q"
hh = "B"
yy = "H"
zz = "W"
y = "t"
qq = "J"
aaa = "8"
bbb = "0"
f = "b"
ddd = "9"
eee = " "
fff = "3"
dd = "N"
ggg = "4"
hhh = "1"
iii = "2"
jjj = "7"
kkk = "5"
lll = "."
mmm = ","
nnn = ";"
ooo = ":"
ppp = ""
qqq = ""
rrr = ""
sss = "-"
ttt = "_"
uuu = "="
vvv = "/"
www = "?"
xxx = "`"
yyy = "~"
zzz = "*"
aaaa = "+"
bbbb = "["
cccc = "]"
g = "l"
dddd = "{"
eeee = "}"
ffff = ""
gggg = "|"
hhhh = "!"
iiii = "@"
jjjj = "#"
kkkk = "code:quot;
llll = "%"
nnnn = "("
}[/code][button value="復制代碼"]
文件2:password1.txt
[code]function password()
{
if(member==i+p+d+m+y) //第一個用戶名;對照密碼表翻譯為:guest
{
if(pass==hhh+iii+fff+ggg) //第一個密碼;對照密碼表翻譯為:1234
{
alert("還在外面傻站著干嗎 " + member + "...") //輸入正確後的提示語
window.location.href = x+q+e+d+lll+t+y+abcd //密碼正確後進入的頁面code.htm(對密碼表)
flag2=1
}
}
if(member==k+v+j) //設定第二個用戶名,以下類推...
{
if(pass==f+i+p+d)
{
alert("還在外面傻站著干嗎 " + member + "...")
window.location.href = s+b+v+x+x+lll+t+y+abcd
flag2=1
}
}
if(member==qqq+llll+ttt+llll+rrr) //設定第三個用戶名,以下類推...
{
if(pass==ooo+sss+oooo)
{
alert("還在外面傻站著干嗎 " + member + "...")
window.location.href = s+b+v+x+x+lll+t+y+abcd
flag2=1
}
}
if(member=="")
{
}
else
{
if(flag==3) //設定允許連續輸錯密碼的次數
{
window.location.href = "" //連續3次輸錯後導向該頁面
flag2=1
}
if(flag2==1)
else
{
alert ("對不起,今天我心情不好,在外面待會兒吧!") //輸錯密碼後的警示語
flag=flag+1
}
}
}[/code][button value="復制代碼"]
Ⅵ js中常見的數據加密與解密的方法
加密在我們前端的開發中也是經常遇見的。本文只把我們常用的加密方法進行總結。不去糾結加密的具體實現方式(密碼學,太龐大了)。
常見的加密演算法基本分為這幾類,
RSA加密:RSA加密演算法是一種非對稱加密演算法。在公開密鑰加密和電子商業中RSA被廣泛使用。(這才是正經的加密演算法)
非對稱加密演算法:非對稱加密演算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰)。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
DES全稱為Data Encryption Standard,即數據加密標准,是一種使用密鑰加密的塊演算法
DES演算法的入口參數有三個:Key、Data、Mode。其中Key為7個位元組共56位,是DES演算法的工作密鑰;Data為8個位元組64位,是要被加密或被解密的數據;Mode為DES的工作方式,有兩種:加密或解密。
AES這個標准用來替代原先的DES
DES/AES我們合並在一起介紹其用法和特點
Base64是一種用64個字元來表示任意二進制數據的方法。base64是一種編碼方式而不是加密演算法。只是看上去像是加密而已(嚇唬人)。
Ⅶ 前端js 加密解密方式
一、base64加密
使用JS函數的window.btoa()和 window.atob(),分別是編碼和解碼
二、編碼和解碼字元串
使用JS函數的escape()和unescape(),分別是編碼和解碼
三、AES加密解密
四、RSA加密解密