首页 > 数据库 >关于用户登录信息在数据库中的加密方法。

关于用户登录信息在数据库中的加密方法。

时间:2023-02-19 20:35:12浏览次数:38  
标签:MessageDigest 加密 登录 数据库 byte0 str return MD5

1.首先我从网上查阅资料明白加密方法有很多种。

有MD5加密还有就是Brcypt加密。

本次我只要介绍md5加密的方法。

首先我们可以直接从网上查找以下加密算法把他打包成一个类:

代码:

import java.security.MessageDigest;

/**
* MD5加密工具类
*/
public class Md5 {

/**
* md5加密
* @param key
* 输入的数据
* @return 加密后的数据
*/
public static String md5(String key) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
try {
byte[] btInput = key.getBytes();
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];

}

return new String(str);
} catch (Exception e) {
return null;
}
}
}

在上述图片中我们可以看到加盐的密码加密方式,这种方式更安全,可以有效地防止密码被暴力破解。

 

标签:MessageDigest,加密,登录,数据库,byte0,str,return,MD5
From: https://www.cnblogs.com/jizhaosai/p/17135507.html

相关文章

  • 学习ASP.NET Core Blazor编程系列二十六——登录(5)
    学习ASP.NETCoreBlazor编程系列文章之目录学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习A......
  • 数据库引言
    一、数据库简介1.什么是数据库数据库其实是一种软件的概念,他是安装在我们操作系统之上,对数据进行操作的管理软件,称作(DBDataBase),用来存储和操作数据,我们常说的mysql,oracl......
  • 冷冻法快速还原Oracle数据库
    1、重新装完系统之后,把D:\app\Administrator\oradata拷贝出来,app目录。2、安装Oracle数据库,创建一个和oradata目录内同名的实例。3、通过停止服务的方式关闭数据库,冷拷贝......
  • 数据库必知必会:TiDB(12)TiDB连接管理
    (数据库必知必会:TiDB(12)TiDB连接管理)TiDB连接管理TiDB的连接特性TiDBServer主要负责接收用户的会话请求,接收SQL并负责SQL语句的解析、编译,生成SQL的执行计划。TiDBServ......
  • 漏洞数据库
    漏洞扫描漏洞扫描只能去识别漏洞数据库中已知的漏洞。在操作上只要是具备有良好网络知识的安全人员即可操作,在扫描成本上也是相对较低的。 渗透测试渗透测试是比较有......
  • 密码加密
    应用场景:密码加密引言:MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值......
  • 一个比 Redis 性能更强的数据库
    给大家推荐一个比Redis性能更强的数据:KeyDBKeyDB是Redis的高性能分支,侧重于多线程、内存效率和高吞吐量。除了性能改进外,KeyDB还提供主动复制、闪存和子密钥过期等功能。......
  • 如何使用JDBC操作数据库?JDBC快速入门
    (文章目录)1.前言在Java开发中,使用Java语言操作数据库是非常重要的一部分,那么Java语言是如何操作数据库的呢?我们需要使用不同厂商的数据库时,例如MySQL,Oracle等,显......
  • win10 系统登录时提示microsoft账户登录
    问题描述开机后登录界面只有登录选项,点击后弹出microsoft账户登录且需联网,是否需要kexue联网看运气且待登录界面右下角角标有且只有[轻松使用]以及[开关机按钮]无连接WI......
  • (数据库系统概论|王珊)第五章数据库完整性-第四、六、七节:约束命名子句、断言和触发器
    ​​pdf下载:密码7281​​​​专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解​​一:完整性约束命名子句(CONSTRAINT)SQL中......