当前位置:首页 > 科技 > 正文内容

javamd5(javamd5技术)

2022-06-19 04:06:00科技757

大家好,今天就和小鱼一起来看看这个问题吧 。javamd5技术,javamd5很多人还不知道,现在让我们一起来看看吧!

1、 首先,运行以下命令

javamd5(javamd5技术)

2、 导入Java . security . message digest;

3、 公共类Test_MD5{

4、 公共最终静态字符串MD5(字符串s) {

5、 char hexDigits[]={ '0 ',' 1 ',' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 ',

6、 a ',' b ',' c ',' d ',' e ',' f ' };

7、 尝试{

8、 byte[]strTemp=s . getbytes();

9、 //使用MD5创建MessageDigest对象

10、 message digest MD temp=message digest . getinstance(' MD5 ');

11、 MD temp . update(strTemp);

12、 byte[]MD=MD temp . digest();

13、 int j=md.length

14、 char str[]=new char[j * 2];

15、 int k=0;

16、 for(int I=0;I j;i ) {

17、 字节b=MD[I];

18、 //system . out . println((int)b);

19、 //将对数字(int) B进行双字节加密。

20、 str[k]=hex digits[b 40xf];

21、 str[k]=hex digits[b0xf];

22、 }

23、 返回新字符串(str);

24、 } catch(异常e){返回null}

25、 }

26、 //测试

27、 公共静态void main(String[] args) {

28、 System.out.println('caidao的' caidao MD5是加密的:\n' Test_MD5。MD5('财道');

29、 system . out . println(');

30、 }

31、 }

32、 MD5的典型应用是在消息(字节串)上生成指纹,以防止它被“篡改”。例如,您在一个名为readme.txt的文件中编写一个段落,并为这个readme.txt生成一个MD5值并记录下来。然后,您可以将该文件传播给其他人。如果其他人修改了文件中的任何内容,当您重新计算该文件的MD5时,您会发现它。如果有第三方认证机构,MD5还可以防止文档作者的‘否认’,这就是所谓的数字* * * *应用。

33、 MD5也广泛用于加密和解密技术。在很多操作系统中,用户的密码是以MD5值的形式保存的(或者类似的其他算法)。当用户登录时,系统将用户输入的密码计算成MD5值,然后与系统中保存的MD5值进行比较,但系统并不‘知道’用户的密码是什么。

34、 MD5理论上是单向哈希,一些黑客通过一种叫做‘运行字典’的方法破解这个密码。字典的获取方式有两种,一种是日常收集的用作密码的字符串表,另一种是通过排列组合生成的。这些字典项的MD5值首先由MD5程序计算,然后在这个字典中查找目标的MD5值。

35、 即使密码的最大长度是8,并且密码只能是字母和数字,总共26 ^ 26 ^ 10=62个字符,排列组合词典中的条目数也是P (62,1) P (62,2).P (62,8),这已经是非常天文数字了。需要TB级磁盘组来存储这个字典和这个方法

36、 方法二,

37、 导入Java . security . spec . *;

38、 MD5_test类{

39、 公共最终静态字符串MD5(字符串s) {

40、 char hexDigits[]={ '0 ',' 1 ',' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 ',

41、 甲、乙、丙、丁、戊

42、  try {

43、  byte[] strTemp = s.getBytes();

44、  MessageDigest mdTemp = MessageDigest.getInstance("MD5");

45、  mdTemp.update(strTemp);

46、  byte[] md = mdTemp.digest();

47、  int j = md.length;

48、  char str[] = new char[j * 2];

49、  int k = 0;

50、  for (int i = 0; i < j; i++) {

51、  byte byte0 = md[i];

52、  str[k++] = hexDigits[byte0 >>> 4 & 0xf];

53、  str[k++] = hexDigits[byte0 & 0xf];

54、  }

55、  return new String(str);

56、  } catch (Exception e) {

57、  return null;

58、  }

59、  }

60、  public static void main(String[] args) {

61、  // MD5_Test aa = new MD5_Test();

62、  System.out.print(MD5_test.MD5("b"));

63、  }

64、  }

65、  加密,解密

66、  import java.security.MessageDigest;

67、  public class MD5andKL {

68、  // MD5加码。32位

69、  public static String MD5(String inStr) {

70、  MessageDigest md5 = null;

71、  try {

72、  md5 = MessageDigest.getInstance("MD5");

73、  } catch (Exception e) {

74、  System.out.println(e.toString());

75、  e.printStackTrace();

76、  return "";

77、  }

78、  char[] charArray = inStr.toCharArray();

79、  byte[] byteArray = new byte[charArray.length];

80、  for (int i = 0; i < charArray.length; i++)

81、  byteArray[i] = (byte) charArray[i];

82、  byte[] md5Bytes = md5.digest(byteArray);

83、  StringBuffer hexValue = new StringBuffer();

84、  for (int i = 0; i < md5Bytes.length; i++) {

85、  int val = ((int) md5Bytes[i]) & 0xff;

86、  if (val < 16)

87、  hexValue.append("0");

88、  hexValue.append(Integer.toHexString(val));

89、  }

90、  return hexValue.toString();

91、  }

92、  // 可逆的加密算法

93、  public static String KL(String inStr) {

94、  // String s = new String(inStr);

95、  char[] a = inStr.toCharArray();

96、  for (int i = 0; i < a.length; i++) {

97、  a[i] = (char) (a[i] ^ 't');

98、  }

99、  String s = new String(a);

100、  return s;

101、  }

102、  // 加密后解密

103、  public static String JM(String inStr) {

104、  char[] a = inStr.toCharArray();

105、  for (int i = 0; i < a.length; i++) {

106、  a[i] = (char) (a[i] ^ 't');

107、  }

108、  String k = new String(a);

109、  return k;

110、  }

111、  // 测试主函数

112、  public static void main(String args[]) {

113、  String s = new String("a");

114、  System.out.println("原始:" + s);

115、  System.out.println("MD5后:" + MD5(s));

116、  System.out.println("MD5后再加密:" + KL(MD5(s)));

117、  System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));

118、  }

119、  }

120、方法三、

121、package endecrypt;

122、  import java.io.UnsupportedEncodingException;

123、  import java.security.MessageDigest;

124、  import java.security.NoSuchAlgorithmException;

125、  /**

126、  * 采用MD5加密解密

127、  * @author tfq

128、  * @datetime 2011-10-13

129、  */

130、  public class MD5Util {

131、  /***

132、  * MD5加码 生成32位md5码

133、  */

134、  public static String string2MD5(String inStr){

135、  MessageDigest md5 = null;

136、  try{

137、  md5 = MessageDigest.getInstance("MD5");

138、  }catch (Exception e){

139、  System.out.println(e.toString());

140、  e.printStackTrace();

141、  return "";

142、  }

143、  char[] charArray = inStr.toCharArray();

144、  byte[] byteArray = new byte[charArray.length];

145、  for (int i = 0; i < charArray.length; i++)

146、  byteArray[i] = (byte) charArray[i];

147、  byte[] md5Bytes = md5.digest(byteArray);

148、  StringBuffer hexValue = new StringBuffer();

149、  for (int i = 0; i < md5Bytes.length; i++){

150、  int val = ((int) md5Bytes[i]) & 0xff;

151、  if (val < 16)

152、  hexValue.append("0");

153、  hexValue.append(Integer.toHexString(val));

154、  }

155、  return hexValue.toString();

156、  }

157、  /**

158、  * 加密解密算法 执行一次加密,两次解密

159、  */

160、  public static String convertMD5(String inStr){

161、  char[] a = inStr.toCharArray();

162、  for (int i = 0; i < a.length; i++){

163、  a[i] = (char) (a[i] ^ 't');

164、  }

165、  String s = new String(a);

166、  return s;

167、  }

168、  // 测试主函数

169、  public static void main(String args[]) {

170、  String s = new String("tangfuqiang");

171、  System.out.println("原始:" + s);

172、  System.out.println("MD5后:" + string2MD5(s));

173、  System.out.println("加密的:" + convertMD5(s));

174、  System.out.println("解密的:" + convertMD5(convertMD5(s)));

175、  }

176、  }

这篇文章到此就结束,希望能帮助到大家。

扫描二维码推送至手机访问。

版权声明:文章内容摘自网络,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。谢谢!

本文链接:https://www.xixia168.com/n/kj/35807.html

标签: 技术
分享给朋友:

“javamd5(javamd5技术)” 的相关文章

乞巧节有什么风俗活动(乞巧节的风俗)

乞巧节有什么风俗活动(乞巧节的风俗)

大家好,今天就和吖吖一起来看看这个问题吧 。乞巧节的风俗,乞巧节有什么风俗活动很多人还不知道,现在让我们一起来看看吧!  一、  乞巧节的风俗  七夕节习俗有很多,比如:香桥会、接露水、拜七姐、斗巧、乞求姻缘、游七姐水、储七夕水、为牛庆生、七巧贡案、拜牛郎、染指甲、七夕观星、听悄悄话、净水视影、结红...

女王节是每年什么时候(女王节是几月几日)

女王节是每年什么时候(女王节是几月几日)

大家好,今天就和小鸥一起来看看这个问题吧 。女王节是几月几日,女王节是每年什么时候很多人还不知道,现在让我们一起来看看吧!  一、  女王节是几月几日  女王节是每年的3月8日。  当下年轻人过的“女神节”,其实是对三八妇女节的新称号,是由各大商家开始追捧起来的,甚至还有商家比“女神节”更甚,把3月...

植树节的由来简说(植树节的来历简写50字)

植树节的由来简说(植树节的来历简写50字)

大家好,今天就和兔兔一起来看看这个问题吧 。植树节的来历简写50字,植树节的由来简说很多人还不知道,现在让我们一起来看看吧!    植树节的来历简写50字:植树节是为了纪念中国民主革命先行者孙中山先生。他是中国近代史上 第一个重视并大力提倡植树造林的人。习俗就是在这一天植树造林,美化环境的活动。一、...

结婚纪念日4周年是什么婚(结婚四年是什么婚)

结婚纪念日4周年是什么婚(结婚四年是什么婚)

大家好,今天就和猫猫一起来看看这个问题吧 。结婚四年是什么婚,结婚纪念日4周年是什么婚很多人还不知道,现在让我们一起来看看吧!  一、  结婚四年是什么婚  结婚四周年是花果婚。正常来说,一对夫妇结婚四年后已经有了下一代,就像是树一样有花有果。在结婚四周年的生活中有酸有甜,但也有比较危险的一个年限,...

回族有哪些习俗活动(回族风俗习惯)

回族有哪些习俗活动(回族风俗习惯)

大家好,今天就和猫猫一起来看看这个问题吧 。回族风俗习惯,回族有哪些习俗活动很多人还不知道,现在让我们一起来看看吧!    回族,是中国少数民族中人口较多的民族之一。主要聚居于宁夏回族自治区,在甘肃、新疆、青海、河北以及河南、云南、山东也有不少聚居区。回族在元代开始进入云南,全省有回族人口55.9万...

2020春运起止时间一览表(2020春运什么时间开始什么时候结束)

2020春运起止时间一览表(2020春运什么时间开始什么时候结束)

大家好,今天就和丹尼一起来看看这个问题吧 。2020春运什么时间开始什么时候结束,2020春运起止时间一览表很多人还不知道,现在让我们一起来看看吧!  一、2020春运什么时间开始什么时候结束 2020春运起止时间一览表2020春运什么时间开始什么时候结束  春运时间是以每年的春节为界,春节前的15...