當前位置:首頁 » 密碼管理 » javamd532位大寫加密

javamd532位大寫加密

發布時間: 2022-09-23 10:30:54

java 如何採用MD5加密演算法加密

十六位的md5加密
private static void Md5(String plainText ) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();

int i;

StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if(i<0) i+= 256;
if(i<16)
buf.append("0");
buf.append(Integer.toHexString(i));
}

System.out.println("result: " + buf.toString());//32位的加密

System.out.println("result: " + buf.toString().substring(8,24));//16位的加密

} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

Md5("12312312312312"); 結果:
result:

⑵ java md5加密16位和32位的區別

我見過的都是算成 三二 個字元的,也就是 一二吧位。 好像也有別的版本,可以得到 一陸 個字元,二四個字元等等。 MD5是摘要演算法,是不可逆的。 我覺得加密總得對應一個解密,可以得到原來的信息,但是MD5不可以,所以MD5不是加密演算法

⑶ java 中怎麼使用md5加密

樓主您好
JDK裡面有一個java.security.MessageDigest類,這個類就是用來加密的。
String token = System.currentTimeMillis()+new Random().nextInt()+"";<img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索" class="selectsearch-hide">
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5 = md.digest(token.getBytes());
} catch (Exception e) {
throw new RuntimeException(e);
}

⑷ java演算法 md5加密方法

根據MD5演算法的特點,我們可以把MD5加密過程看作是一個函數調用過程,建議必須做如下方式修改,這樣可以保證一定程度上你的網站用戶和數據安全:
1、修改MD5演算法中的4個常數,這是最捷徑的作法,其特點是加密後的數據和加密前非常類似,但是不會被破解
2、多次加密,對MD5加密過的數據進行二次或三次加密,或者在每次加密後從重抽取部分值進行在加密,比如「我愛你」,加密後「」,我們可以取任意一部分進行再加密,比如取前18位「1E6986ACEC7BAE541」進行再加密得到「」,這種做法修改很簡單,比如asp中調用是md5("password")那麼你可以改成md5(left(md5("password"),16)),這樣以來就很安全了,就是你的數據被下載,破解的話也是不可能的
3、仿MD5加密,顧名思義,我們不採用MD5加密,而採用其他演算法,然後取其中的部分散列,比如用SHA1或SHA64得到加密結果,然後取其中的32位或16位,很像MD5演算法加密的結果,可以保證不被破解
方法有很多,我這里只是拋磚引玉,希望你在做網站的時候自己修改,可以確保萬無一失,不管你用的是什麼軟體,希望大家謹慎一下,我們把這種改法稱為MD5的私有演算法或私有MD5演算法。

⑸ java的32位MD5加密與php中的32位MD5加密結果不一樣.求幫助

PHP不是很懂、但是PHP和Java用MD5加密的結果是一樣的、
我記得上次我還用Java調用了人家的PHP充值介面、其中有參數就是MD5加密的;
希望回答能給你帶來幫助~
如果滿意,請採納,如還有疑問,可繼續追問!
您也可以向我們團隊發出請求,會有更專業的人來為您解答!

⑹ java中md5加密

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class md5 {
public String str;

public void md5s(String plainText) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();

int i;

StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
System.out.println("result: " + buf.toString());// 32位的加密
System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
}

public static void main(String agrs[]) {
md5 md51 = new md5();
md51.md5s("4");//加密4
}

}

⑺ java的32位MD5加密與php中的32位MD5加密結果不一樣。求幫助。急急急

Java的字元串是unicode編碼,不受源碼文件的編碼影響;而PHP的編碼是和源碼文件的編碼一致,受源碼編碼影響。例中java字元數據在散列時的編碼和php編碼未能保持一致,我認為這是導致輸出不同的「病理」

由於未知mad.toMd5的具體實現,問題直接成因應該在toMd5的String到byte[]轉換時的編碼上,或者未設置或者設置了錯誤的編碼
但只要java的字元串先getBytes獲得位元組串,並和php源碼編碼一致,就能獲得一致結果。

⑻ java怎麼把字元串進行md5加密

給你看源代碼,我自己寫的

public static String md5(String src){
try{
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] output = md.digest(src.getBytes());//加密處理
//將加密結果output利用Base64轉換成字元串輸出
String ret = Base64.encodeBase64String(output);

return ret;
}catch(Exception e){
throw new NoteException("密碼加密失敗",e);
}

}

public static void main(String[] args) {
System.out.println(md5("123456"));
}

⑼ 如何在java中實現md5加密和解密

package endecrypt;
02.
03.import java.io.UnsupportedEncodingException;
04.import java.security.MessageDigest;
05.import java.security.NoSuchAlgorithmException;
06.
07./**
08. * 採用MD5加密解密
09. * @author tfq
10. * @datetime 2011-10-13
11. */
12.public class MD5Util {
13.
14. /***
15. * MD5加碼 生成32位md5碼
16. */
17. public static String string2MD5(String inStr){
18. MessageDigest md5 = null;
19. try{
20. md5 = MessageDigest.getInstance("MD5");
21. }catch (Exception e){
22. System.out.println(e.toString());
23. e.printStackTrace();
24. return "";
25. }
26. char[] charArray = inStr.toCharArray();
27. byte[] byteArray = new byte[charArray.length];
28.
29. for (int i = 0; i < charArray.length; i++)
30. byteArray[i] = (byte) charArray[i];
31. byte[] md5Bytes = md5.digest(byteArray);
32. StringBuffer hexValue = new StringBuffer();
33. for (int i = 0; i < md5Bytes.length; i++){
34. int val = ((int) md5Bytes[i]) & 0xff;
35. if (val < 16)
36. hexValue.append("0");
37. hexValue.append(Integer.toHexString(val));
38. }
39. return hexValue.toString();
40.
41. }
42.
43. /**
44. * 加密解密演算法 執行一次加密,兩次解密
45. */
46. public static String convertMD5(String inStr){
47.
48. char[] a = inStr.toCharArray();
49. for (int i = 0; i < a.length; i++){
50. a[i] = (char) (a[i] ^ 't');
51. }
52. String s = new String(a);
53. return s;
54.
55. }

⑽ java演算法 md5加密方法

MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
在MD5演算法中,首先需要對信息進行填充,使其位元組長度對512求余數的結果等於448。因此,信息的位元組長度(Bits Length)將被擴展至N*512+448,即N*64+56個位元組(Bytes),N為一個正整數。填充的方法如下,在信息的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後再在這個結果後面附加一個以64位二進製表示的填充前的信息長度。經過這兩步的處理,現在的信息位元組長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍數。這樣做的原因是為滿足後面處理中對信息長度的要求。MD5中有四個32位被稱作鏈接變數(Chaining Variable)的整數參數,他們分別為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。 當設置好這四個鏈接變數後,就開始進入演算法的四輪循環運算,循環的次數是信息中512位信息分組的數目。
將上面四個鏈接變數復制到另外四個變數中:A到a,B到b,C到c,D到d。 主循環有四輪(MD4隻有三輪),每輪循環都很相似。第一輪進行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數運算,然後將所得結果加上第四個變數(文本中的一個子分組和一個常數)。
再將所得結果向右環移一個不定的數,並加上a、b、c或d中之一。最後用該結果取代a、b、c或d中之一。 以一下是每次操作中用到的四個非線性函數(每輪一個)。
F(X,Y,Z)=(X∧Y)∨(( X)∧Z)
G(X,Y,Z)=(X∧Z)∨(Y∧( Z))
H(X,Y,Z)=X⊕Y⊕Z
I(X,Y,Z)=Y⊕(X∨( Z))

其中,⊕是異或,∧是與,∨是或, 是反符號。
如果X、Y和Z的對應位是獨立和均勻的,那麼結果的每一位也應是獨立和均勻的。F是一個逐位運算的函數。即,如果X,那麼Y,否則Z。函數H是逐位奇偶操作符。所有這些完成之後,將A,B,C,D分別加上a,b,c,d。然後用下一分組數據繼續運行演算法,最後的輸出是A,B,C和D的級聯。最後得到的A,B,C,D就是輸出結果,A是低位,D為高位,DCBA組成128位輸出結果。
這個東西很復雜的,樓主就不要追究了吧!

熱點內容
怎麼配置成70乙醇 發布:2022-10-05 01:06:35 瀏覽:717
phpsmtp發送郵件 發布:2022-10-05 01:06:35 瀏覽:698
新建word文件夾 發布:2022-10-05 01:04:52 瀏覽:992
linux分頁內存 發布:2022-10-05 00:57:31 瀏覽:43
玩倉鼠解壓 發布:2022-10-05 00:55:30 瀏覽:216
ftp訪問負載均衡 發布:2022-10-05 00:55:27 瀏覽:332
信號估計演算法 發布:2022-10-05 00:50:44 瀏覽:905
linux建用戶 發布:2022-10-05 00:49:15 瀏覽:776
我的世界怎麼添加伺服器 發布:2022-10-05 00:44:22 瀏覽:457
御翔壓縮機 發布:2022-10-05 00:44:21 瀏覽:614