Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java md5加密解密

java md5加密解密

作者头像
西门呀在吹雪
发布于 2020-11-09 01:45:17
发布于 2020-11-09 01:45:17
7.5K0
举报
文章被收录于专栏:架构之巅架构之巅

法一:只加密

  1. import java.security.*;
  2. import java.security.spec.*;
  3. class MD5_test {
  4. public final static String MD5(String s) {
  5. char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
  6. 'a', 'b', 'c', 'd', 'e', 'f' };
  7. try {
  8. byte[] strTemp = s.getBytes();
  9. MessageDigest mdTemp = MessageDigest.getInstance("MD5");
  10. mdTemp.update(strTemp);
  11. byte[] md = mdTemp.digest();
  12. int j = md.length;
  13. char str[] = new char[j * 2];
  14. int k = 0;
  15. for (int i = 0; i < j; i++) {
  16. byte byte0 = md[i];
  17. str[k++] = hexDigits[byte0 >>> 4 & 0xf];
  18. str[k++] = hexDigits[byte0 & 0xf];
  19. }
  20. return new String(str);
  21. } catch (Exception e) {
  22. return null;
  23. }
  24. }
  25. public static void main(String[] args) {
  26. // MD5_Test aa = new MD5_Test();
  27. System.out.print(MD5_test.MD5("b"));
  28. }
  29. }

方法二:加密与解密

[c-sharp] view plain copy

  1. import java.security.MessageDigest;
  2. public class MD5andKL {
  3. // MD5加码。32位
  4. public static String MD5(String inStr) {
  5. MessageDigest md5 = null;
  6. try {
  7. md5 = MessageDigest.getInstance("MD5");
  8. } catch (Exception e) {
  9. System.out.println(e.toString());
  10. e.printStackTrace();
  11. return "";
  12. }
  13. char[] charArray = inStr.toCharArray();
  14. byte[] byteArray = new byte[charArray.length];
  15. for (int i = 0; i < charArray.length; i++)
  16. byteArray[i] = (byte) charArray[i];
  17. byte[] md5Bytes = md5.digest(byteArray);
  18. StringBuffer hexValue = new StringBuffer();
  19. for (int i = 0; i < md5Bytes.length; i++) {
  20. int val = ((int) md5Bytes[i]) & 0xff;
  21. if (val < 16)
  22. hexValue.append("0");
  23. hexValue.append(Integer.toHexString(val));
  24. }
  25. return hexValue.toString();
  26. }
  27. // 可逆的加密算法
  28. public static String KL(String inStr) {
  29. // String s = new String(inStr);
  30. char[] a = inStr.toCharArray();
  31. for (int i = 0; i < a.length; i++) {
  32. a[i] = (char) (a[i] ^ 't');
  33. }
  34. String s = new String(a);
  35. return s;
  36. }
  37. // 加密后解密
  38. public static String JM(String inStr) {
  39. char[] a = inStr.toCharArray();
  40. for (int i = 0; i < a.length; i++) {
  41. a[i] = (char) (a[i] ^ 't');
  42. }
  43. String k = new String(a);
  44. return k;
  45. }
  46. // 测试主函数
  47. public static void main(String args[]) {
  48. String s = new String("a");
  49. System.out.println("原始:" + s);
  50. System.out.println("MD5后:" + MD5(s));
  51. System.out.println("MD5后再加密:" + KL(MD5(s)));
  52. System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));
  53. }
  54. }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012/03/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
java工具类(MD5加密)
package com.adingxiong.pm.util; import java.security.MessageDigest; /** * MD5加密 * @author a */ public class MD5Utils { /*** * MD5加码 生成32位md5码 */ public static String string2MD5(String inStr){ MessageDigest md5 = null;
java攻城狮
2020/10/10
4.2K0
md5加密方法
六月的雨在Tencent
2024/03/28
2600
javaMD5加密类
public class MyMD5 { private String inStr; private MessageDigest md5;
全栈程序员站长
2022/09/14
3370
md5和base64加密解密
import java.io.IOException; import java.security.MessageDigest; import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder; public class MD5Util { /** * MD5加密 */ public static String md5Encryption(String str) { MessageDig
HUC思梦
2020/09/03
2.7K0
生成32位MD5加密
/* * 功能:32位MD5算法 用来进行加密 * */ package com.shi.Tools; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5_Demo { public static void main(String[] args) { System.out.println(MD5("施爷")); System.ou
用户5927264
2019/07/31
1.9K0
从0到1开发测试平台(六)增加登录接口
上篇文章我们了解了resultful相关知识,因此我们需要修改UserController,增加接口版本号,在类上面增加注解@RequestMapping("/api/v1/user"),修改之后UserController如下所示
周辰晨
2020/07/21
5230
利用java自带的MD5加密
使用混淆的字符串是:{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}
用户5640963
2019/07/26
1.1K0
java之MessageDigest简单使用总结
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149243.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/04
2430
java MD5 和 jsMD5 加密javajs引用
java private static final String SALT = "jzd,.,."; public static String encode(String password
用户5899361
2020/12/07
6430
springboot+security 内存中读取账号密码 自定义加密规则
码云地址:https://gitee.com/huatao1994/springbootSecurity/tree/master
用户5899361
2020/12/07
5180
springboot+security  内存中读取账号密码 自定义加密规则
Spring Security 安全认证
  如果我们再配置的时候没有放行登录页等一些不需要登录就可以看到的资源,那么访问的时候就会全部拦截导致访问不到。所以我们要配置放行一些无需登录就可以看到的资源。
Demo_Null
2020/10/26
7320
md5加密算法是可逆的_md5为什么不可逆
注:md5算法是不可逆的,所以经过md5加密过的字符串是无法还原(解密)的。一般用作登陆验证的时候,也是要先经过md5加密然后去数据库验证密码是否正确。
全栈程序员站长
2022/09/21
7140
md5加密算法是可逆的_md5为什么不可逆
java messagedigest_Java 自带的加密类MessageDigest类(加密MD5和SHA)[通俗易懂]
转载自:http://www.tuicool.com/articles/nMNVVj
全栈程序员站长
2022/09/09
5470
两种方式实现java Md5加密
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159873.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/13
3350
Java中MD5、SHA、SHA256、SHA512
在工作中,会用到很多加密格式。 工具类如下 import java.security.MessageDigest; /** * @author Piconjo * @date 2020/6/1 18:45 */ public class EncryptionDecryptionUtil { private enum DigestType{ MD5("MD5") ,SHA("SHA") ,SHA256("SHA-256") ,S
崔笑颜
2020/06/08
1.9K0
MD5加密与验证
  与 0xff进行&运算 是为了用8字节的byte类型获取一个32字节的int类型数
JQ实验室
2022/02/09
5600
Java实现MD5加密的方式
  MD5加密是一种常见的加密方式,我们经常用在保存用户密码和关键信息上。那么它到底有什么,又什么好处呢,会被这么广泛的运用在应用开发中。 1、什么是MD5   MD5加密全程是Message-Digest Algoorithm 5(信息-摘要算法),它对信息进行摘要采集,再通过一定的位运算,最终获取加密后的MD5字符串。   例如我们要加密一篇文章,那么我们会随机从每段话或者每行中获取一个字,把这些字统计出来后,再通过一定的运算获得一个固定长度的MD5加密后信息。因此,其很难被逆向激活成功教程。
全栈程序员站长
2022/09/18
1.5K0
Java实现MD5加密的方式
实现MD5加密
/**  * 实现MD5加密  *  */ public class MD5 {  /**   * 获取加密后的字符串   * @param input   * @return   */  public static String stringMD5(String pw) {   try {           // 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”)           MessageDigest messageDigest =MessageDi
用户1220053
2018/02/09
2K0
JavaUtil_01_MD5加密
昨天做java微信开发,引用百度翻译API给公众号添加翻译功能时,需要使用MD5生成签名。注意,使用MD5生成签名后一定要转成小写,不然百度翻译后台不会认你这个签名的,会报无效签名的错误。
shirayner
2018/08/10
7090
ssm注册功能使用MD5加密简单案例
MD5加密全程是Message-Digest Algoorithm 5(信息-摘要算法),它对信息进行摘要采集,再通过一定的位运算,最终获取加密后的MD5字符串。
暴躁的程序猿
2022/03/24
4120
ssm注册功能使用MD5加密简单案例
相关推荐
java工具类(MD5加密)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档