MD5加密及密码验证
MD5加密是常用的加密算法。可以对任意字符串的进行加密。生成16位字符数组。
密码验证:将输入的密码进行MD5加密转换后的字符串与数据库的密码进行比对。相等则验证通过。
1 package utils; 2 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 public class MD5Utils{ 7 /** 8 * 字符串的加密 9 * @param str 10 * @return byte[] 11 * @throws NoSuchAlgorithmException 12 */ 13 public static byte[] encryptionStr(String str) throws NoSuchAlgorithmException { 14 if(str!=null){ 15 //加密后得到的字节数组 16 byte[] bytes = null; 17 // 获取MD5算法实例 得到一个md5的消息摘要 18 MessageDigest md = MessageDigest.getInstance("MD5"); 19 //添加要进行计算摘要的信息 20 md.update(str.getBytes()); 21 //得出摘要结果 22 bytes = md.digest(); 23 return bytes; 24 } 25 return null; 26 } 27 //字符数组转成字符串 28 private static String toHex(byte[] bytes) { 29 30 final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray(); 31 StringBuilder ret = new StringBuilder(bytes.length * 2); 32 for (int i=0; i<bytes.length; i++) { 33 ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]); 34 ret.append(HEX_DIGITS[bytes[i] & 0x0f]); 35 } 36 return ret.toString(); 37 } 38 //密码验证 39 /* 40 * 将加密后的字节数组转换成十六进制的字符窜,形成最终的密码。 41 * 当输入字符串经过MD5加密后,得到的字符串与密码一样,则认为密码验证通过。 42 * */ 43 public static boolean verification(String inputPassword,String dbPassword) throws NoSuchAlgorithmException { 44 String passwordByMD5 = toHex(encryptionStr(inputPassword)); 45 if(dbPassword.equals(passwordByMD5)){ 46 return true; 47 } 48 return false; 49 } 50 public static void main(String[] args) throws NoSuchAlgorithmException { 51 String a = "test1"; 52 String b ="test2"; 53 String c ="ABCDE"; 54 String [] str={a,b,c}; 55 for (String s : str) { 56 byte [] bytes=encryptionStr(s); 57 System.out.println("数据:" + s+" 加密后为:"+bytes.toString()); 58 } 59 String dbPassword = toHex(encryptionStr("abcdef")); 60 System.out.println(dbPassword); 61 String inputPassword = "abcdef"; 62 String inputPassword2 = "abcdeffff"; 63 System.out.println(verification(inputPassword,dbPassword)); 64 System.out.print(verification(inputPassword,inputPassword2)); 65 } 66 }
gitHub源码:MD5加密及密码验证
转载于:https://www.cnblogs.com/fabaogege/p/10111632.html
MD5加密及密码验证相关推荐
- java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密
如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...
- node+mysql+vue-element-admin,前后端联动,md5加密,jwt验证,登录登出
后端登录 搭建http服务 搭建https服务的话:搭建https服务 http服务我们前面其实已经搭好了 现在把端口换一下 18082 因为访问47.103.29.206:18082的话会报错,因为 ...
- php密码怎么用md5,如何使用PHP使用MD5加密此密码?
下面的代码来自一个用PHP编写的登录脚本.它检查密码的数据库不使用MD5加密密码,但是当登录脚本检查数据库中的密码时,它正在检查原始密码而不加密.我熟悉md5()函数但是如何将其合并到以下内容中: s ...
- html静态网站登陆验证,静态页面js加密URL密码验证
随手写的一个静态HTML页面JS加密URL,密码验证的jQuery插件 点击查看演示 HTML部分: 密码为passcode的链接测试 密码为mm2的链接测试 增加mrel属性,写入真实页面地址前缀, ...
- java绕过加密密码_JAVA中使用MD5加密实现密码加密
1.新建Md5.java package com.loger.md5; import java.io.UnsupportedEncodingException; import java.securit ...
- Java实现MD5加密及验证(两种方式,加盐md5与未加盐md5)
一.加盐MD5加密工具 package com.dimpt.base.util;import java.io.UnsupportedEncodingException; import java.sec ...
- Java实现MD5加密以及解密
MD5的介绍 从本质上来说,MD5并不是一种加密算法,其全称是Message Digest Algorithm MD5(中文名:信息摘要算法第五版),为计算机安全领域广泛使用的一种散列函数,主要用于确 ...
- 使用MD5加密数据库中的用户密码介绍
使用MD5加密数据库中的用户密码介绍 ●前言 我们知道,现在网络上一般的网站,稍微完善一点的,往往都需要用户先注册,提供诸如电子邮件.账号.密码等信息以后,成为网站栏目的注册用户,才可以享受网站一些特 ...
- Winform中简单使用MD5加密用户登录密码
场景 MD5加密登录密码效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. ...
最新文章
- Python数据分析入门之pandas基础总结
- Mozilla Firefox 54 今起支持开启e10s多进程功能
- 使用Lombok优化代码
- Tomcat之Windows下安装
- redis源码剖析(十五)——客户端思维导图整理
- 服务器物理内存总是九十几,Solr总是使用超过90%的物理内存(Solr always use more than 90% of physical memory)...
- pytorch——计算图与动态图机制
- Flutter ClipPath 自定义CustomClipper 玩转不一样的背景图案
- Mybatis foreach 批量插入
- access insert语句怎么写_被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
- 软件开发过程中需要的文档汇总
- 银行转账java代码事务实现_Spring事务银行转账示例
- 阿里云云平台的物理安全防御措施
- 扇形面积公式推导过程
- 燕京八景寻踪﹒宛平城卢沟桥
- 【BZOJ4522】密匙破解(Pollard_rho)
- 2021-11-15
- C语言编译器(C语言编程软件)
- ★ SMILES与分子图像的转换代码【及后续操作:识别、指标评估】
- 使用MATLAB求积分和极限