導航:首頁 > 文檔加密 > 單向加密演算法js

單向加密演算法js

發布時間:2022-08-05 14:52:02

⑴ 有沒有單純實現aes加密的js演算法

給你一個java aes加密解密的類吧.

import javax.crypto.*;
import javax.crypto.spec.*;

public class AES {
public static String Decrypt(String sSrc, String sKey){
try {
//判斷Key是否正確
if (sKey == null) {
return null;
}
//判斷Key是否為16位
if (sKey.length() != 16) {
throw new Exception("解密key長度不足。");
}
byte[] raw = sKey.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
byte[] encrypted1 = hex2byte(sSrc);
try {
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original);
return originalString;
} catch (Exception e) {
throw e;
}
} catch (Exception ex) {
throw ex;
}
}
//判斷Key是否正確
public static String Encrypt(String sSrc, String sKey){
if (sKey == null) {
return null;
}
//判斷Key是否為16位
if (sKey.length() != 16) {
throw new Exception("加密key長度不足。");
}
byte[] raw = sKey.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(sSrc.getBytes());

return byte2hex(encrypted).toLowerCase();
}
public static byte[] hex2byte(String strhex) {
if (strhex == null) {
return null;
}
int l = strhex.length();
if (l % 2 == 1) {
return null;
}
byte[] b = new byte[l / 2];
for (int i = 0; i != l / 2; i++) {
b[i] = (byte) Integer.parseInt(strhex.substring(i * 2, i * 2 + 2), 16);
}
return b;
}
public static String byte2hex(byte[] b) {
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length() == 1) {
hs = hs + "0" + stmp;
} else {
hs = hs + stmp;
}
}
return hs.toUpperCase();
}
}

⑵ js中怎麼使用AES-128-CBC加密

不可用MD5為JS文件加密,MD5是摘要演算法,結果是不可逆的,是單向的 JS經過MD5後無法進行還原,加密後JS將永遠無法使用

⑶ js開頭的密文是什麼

如果是定長的都是8位的話,這里就可能是一種單向加密的方式,而就是說,只存在從明文向密文進行的一個加密過程,不存在一個由密文向明文的解密過程,這種單向加密又稱非可逆性加密,多用於校檢式對比.校驗顯然不須要知道明文就可以了,所以採用的是單向加密,比較代表性的就是MD5,SHA-1等演算法.

因為明文一般是4-16位,而加密後的密文只有8位,若是一個雙向加密,顯然明文長度大於密文長度,這里其實是說,明文的容量大於密文的容量,不管是那種加密演算法,都會造成大量的"碰撞"!而一個雙向加密演算法的好壞,碰撞機率是一個非常重要的因素的!顯然,若是只有8位時,只能說是一個不太好的校驗方式演算法,也就是單向演算法的.所謂的碰撞就是指的有兩個不同的明文會得到相同的密文,那麼這兩個明文就發生了碰撞.這個機率越大,則演算法的可行性越差!

而若是單向校驗,也就是單向加密,這里雖然碰撞機率大,但可以用程序去做一下控制的!比如你輸入三次密碼如果校驗不成功,則將帳戶進行封凍等都是較好的手段!而雙向加密,別人可以直接進行演算法測試,不會依賴於程序,則很容易破解的.這與密碼設計的初衷是背離的.

如果是8位定長,也就是說不管你是多少位密碼,這極可能是MD5加密或是MD5的前身MD4與MD2加密.也可能是程序設計者自己設計的演算法!但絕對是一個單向加密的!

MD5你可能見過16位的和32位或者更多的.其實你看一下其中的具體實現就知道了,他是四組值進行運算的,最終這四組若是b+c(第二組與第三組組合)就是MD5的16位演算法.若是a+b+c+d四組全組合時就是32位的演算法.但如果系統對於密碼強度大小不是很大時,為了省卻計算機的運算時間,完全可以只有用其中四組中的一組,也就是所能看到的8位的.這種演算法是MD5,但只取的是其中的一組值的.而MD2與MD4恰恰就是與此類似的!因為安全性不強的緣故,現在已經很少或是沒有地方使用了!至少現在的系統中我還沒有看到過.

⑷ java加密的幾種方式

朋友你好,很高興為你作答。

首先,Java加密能夠應對的風險包括以下幾個:

1、核心技術竊取

2、核心業務破解

3、通信模塊破解

4、API介面暴露

本人正在使用幾維安全Java加密方式,很不錯,向你推薦,希望能夠幫助到你。

幾維安全Java2C針對DEX文件進行加密保護,將DEX文件中標記的Java代碼翻譯為C代碼,編譯成加固後的SO文件。默認情況只加密activity中的onCreate函數,如果開發者想加密其它類和方法,只需對相關類或函數添加標記代碼,在APK加密時會自動對標記的代碼進行加密處理。

與傳統的APP加固方案相比,不涉及到自定義修改DEX文件的載入方式,所以其兼容性非常好;其次Java函數被完全轉化為C函數,直接在Native層執行,不存在Java層解密執行的步驟,其性能和執行效率更優。

如果操作上有不明白的地方,可以聯系技術支持人員幫你完成Java加密。

希望以上解答能夠幫助到你。

⑸ js有幾種加密方式

首先,MD5不是加密演算法,是簽名演算法,哎,到底是有多少國人被毒害了呀。

另外,只要是可以由軟體實現的加密演算法,js都能使用,只是有效率問題,
一般的
非對稱演算法,使用的資源都很龐大,所以js很少有。
而對稱的加密演算法……,由於js是對用戶可見的,所以……就和沒加密一樣。

這也就是為什麼真正的高安全網站都不會選擇用js做加密,而是選擇用https 協議這樣的手段。

再次重申,MD5不是加密演算法,所以不再上述范圍內

⑹ 什麼是單向加密什麼是雙向加密兩者有何區別哪個更安全

http://topic.csdn.net/t/20050425/17/3965579.html在現階段,有兩種加密方式,單向加密和雙向加密。雙向加密是加密演算法中最常用的,它將可以直接理解的明文數據加密為不可直接理解的密文數據,然後,在需要的時候,可以使用一定的演算法將這些加密以後的密文解密為原來可以理解的明文。雙向加密適合於隱秘通信,例如,用戶在網上購物時,需要向網站提交信用卡密碼,用戶當然不希望自己的數據直接在網上明文傳送,因為這樣很可能被別的用戶「偷聽」,用戶希望自己的信用卡密碼是通過加密以後,再在網路傳送,因此網站接收到用戶的數據以後,通過解密演算法就可以得到准確的信用卡賬號。單向加密剛好相反,只能對數據進行加密,也就是說,沒有辦法對加密以後的數據進行解密。單向加密一般用於資料庫中用戶信息的加密。當用戶創建一個新的賬號或者密碼時,他的信息不是直接保存到資料庫中,而是經過一次加密以後再保存,這樣,即使這些信息被泄露,也不能立即理解這些信息的真正含義。

⑺ 用MD5 給JS加密究竟怎麼做

不可用MD5為JS文件加密,MD5是摘要演算法,結果是不可逆的,是單向的
JS經過MD5後無法進行還原,加密後JS將永遠無法使用

⑻ 請問現在開發項目一般用到哪些加密演算法

現階段開發項目主要用到 BASE64 、 MD5 、 SHA 、 HMAC 幾種加密演算法。 BASE64 編碼演算法不算是真正的加密演算法。 MD5 、 SHA 、 HMAC 這三種加密演算法,可謂是非可逆加密,就是不可解密的加密方法,我們稱之為單向加密演算法。我們通常只把他們作為加密的基礎。單純的以上三種的加密並不可靠。 BASE64的加密解密是雙向的,可以求反解。 MD5、SHA以及HMAC是單向加密,任何數據加密後只會產生唯一的一個加密串,通常用來校驗數據在傳輸過程中是否被修改。其中HMAC演算法有一個密鑰,增強了數據傳輸過程中的安全性,強化了演算法外的不可控因素。 單向加密的用途主要是為了校驗數據在傳輸過程中是否被修改。

閱讀全文

與單向加密演算法js相關的資料

熱點內容
程序員送女友的相冊 瀏覽:251
壓縮文件怎麼設置打開加密 瀏覽:764
tracert命令結果詳解 瀏覽:356
唯賽思通用什麼APP 瀏覽:371
古玩哪個app好賣 瀏覽:146
u盤內容全部顯示為壓縮包 瀏覽:517
編譯固件時使用00優化 瀏覽:356
速借白條app怎麼樣 瀏覽:756
用紙張做的解壓東西教程 瀏覽:12
求圓的周長最快演算法 瀏覽:190
安卓熱點怎麼減少流量 瀏覽:270
北京代交社保用什麼app 瀏覽:855
第一眼解壓視頻 瀏覽:726
文件夾err是什麼 瀏覽:97
qt4編程pdf 瀏覽:572
區域網伺服器下如何連續看照片 瀏覽:254
經過加密的數字摘要 瀏覽:646
加密鎖9000變列印機 瀏覽:694
程序員的職業發展前途 瀏覽:639
安卓是世界上多少個程序員開發 瀏覽:45