这篇文章将为大家详细讲解有关 MD5加密算法如何在java项目中运用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
java 中 MD5加密的实例
主要代码如下
package techDemo;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Scanner;import org.junit.Test;import sun.misc.BASE64Encoder;public class MD5 { public static void main(String[] args) throws Exception { MessageDigest md = MessageDigest.getInstance("MD5"); // 原文: String pwd = "12345"; // digese---得到byte数组 加密后的 byte b []= md.digest(pwd.getBytes()); System.out.println(b.length); // 16 // 再将byte b [] 转化为我们能看的懂 密文 //第一种方式:BASE64Encoder (要导依赖包) BASE64Encoder bd = new BASE64Encoder(); //密文1: String strpwd1 = bd.encode(b); System.out.println(strpwd1); //第二种方式:自己写代码将byte 数组转化为16进制的并且最后的密文保证长度为32 String strpwd2 = ""; for(byte i:b){ // 将单个字节转化为 16 进制 String s = Integer.toHexString(i & 0xff); // 当i<16时,长度为1加个符号 ,这样可以保证最后为 密文为32 if(s.length()==1){ s = s + "0"; } strpwd2 += s; } System.out.println(strpwd2); } // 演示模拟用户登录 @Test public void demoLogin()throws Exception{ // 当用户注册成功时,把用户的密码生成密文和用户名一起保存 // 登录时,通过把用户输入密码再次生成密文,判断两次密文是否一致来验证用户 // 假设用户密码是 123456789,先生成密文 String pwd = "123456789"; String Mpwd = Md5(pwd); Scanner sc = new Scanner(System.in); while(true){ System.out.println("请输入密码"); String p = sc.nextLine(); if(Mpwd.equals( Md5(p))){ System.out.println("密码正确"); break; }else{ System.out.println("密码错误,请重新输入"); } } } private String Md5(String pwd) throws NoSuchAlgorithmException { String Mpwd =""; MessageDigest md = MessageDigest.getInstance("MD5"); byte b [] = md.digest(pwd.getBytes()); for(byte i:b){ String s = Integer.toHexString( i & 0xff); if(s.length()==1){ s = s +"0"; } Mpwd = s + pwd; } return Mpwd; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中实现轮询?(java如何实现轮询)
- 如何在 Java 中获取当前时间戳?(java怎么获取当前时间戳)
- 如何简化 Java 的 DAO 层开发流程?(Java的DAO层怎样简化开发流程)
- 深入解析PHP中数据类型的转换技巧
- 在处理速度方面,C++与 Java 究竟谁更快?(c++与java处理速度哪个更快)
- Java Zuul 如何在认证授权中进行应用?(java zuul在认证授权中的应用)
- Uncomtrade数据库免费版本查询指南
- Java Lombok 使用为何不生效及解决办法(java lombok使用不生效怎么解决)
- 如何有效修复uncomtrade数据库
- Java 中接口与抽象类的区别究竟有哪些?(java中接口和抽象类的区别是什么)
猜你喜欢
AI推送时光机MD5加密算法如何在java项目中运用
后端开发2023-05-31
RSA加密算法如何在java项目中实现
后端开发2023-05-31
在java项目中实现MD5加密的方法有哪些
后端开发2023-05-31
如何在vuejs项目中使用md5加密密码的实现
后端开发2022-11-13
如何在java项目中实现一个ECC加密算法
后端开发2023-05-31
如何在Java项目中实现一个DES加密算法
后端开发2023-05-31
如何在JAVA中使用MD5加密对密码进行加密
后端开发2023-05-31
如何在Java项目中实现一个非对称加密算法
后端开发2023-05-31
LinkedList如何在java项目中运用
后端开发2023-05-31
Enum如何在Java项目中运用
后端开发2023-05-31
浮点运算如何在Java项目中实现
后端开发2023-05-31
SHA-256加密如何在Java 项目中实现
后端开发2023-05-31
FloydWarshall算法如何在java项目中实现
后端开发2023-05-31
在vue项目如何使用base64加密
后端开发2024-04-02
PHP+MySQL应用中如何使用XOR运算加密算法
后端开发2023-06-17
Commons lang组件如何在Java项目中运用
后端开发2023-05-31
如何在java中使用RSA算法对密码进行加密与解密
后端开发2023-05-31
spark应用程序如何在Java项目中运行
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧