数据库MD5加密(扩展)

MD5加密

一、MD5简介
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛 使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉 字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。 百度搜索md5介绍
二、实现数据加密
新建一个表 testmd5

CREATE TABLE `testmd5` (  
`id` INT(4) NOT NULL,  
`name` VARCHAR(20) NOT NULL,  
`pwd` VARCHAR(50) NOT NULL,  
PRIMARY KEY (`id`) 
) ENGINE=INNODB DEFAULT CHARSET=utf8

插入一些数据

INSERT INTO testmd5 VALUES(1,'zz','123456'),(2,'zangzang','456789'

如果我们要对pwd这一列数据进行加密,语法是:

update testmd5 set pwd = md5(pwd); 

如果单独对某个用户(如zz)的密码加密

INSERT INTO testmd5 VALUES(3,'zangz','123456') update testmd5 set pwd = md5(pwd) where name = 'kuangshenzangzang';

插入新的数据自动加密

INSERT INTO testmd5 VALUES(4,'kuangshen3',md5('123456'));

查询登录用户信息(md5对比使用,查看用户输入加密后的密码进行比对)

SELECT * FROM testmd5 WHERE `name`='kuangshen' AND pwd=MD5('123456');
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤来使用Spring Boot、MyBatis和MD5实现登录功能: 1. 首先,确保你已经创建了一个Spring Boot项目,并且已经配置好了MyBatis的依赖。 2. 创建一个用户实体类,包含用户名和密码字段。密码字段存储的是经过MD5加密的密码值。 3. 创建一个接口,用于定义登录相关的数据库操作。可以使用MyBatis的注解或XML配置来实现这些操作,根据你的喜好选择合适的方式。 4. 在登录接口中,编写查询用户信息的方法。在查询之前,将用户输入的密码进行MD5加密,然后与数据库中存储的密码进行比对。 例如,可以使用以下代码来实现MD5加密: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { public static String encode(String password) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(password.getBytes()); byte[] digest = md.digest(); StringBuilder sb = new StringBuilder(); for (byte b : digest) { String hex = Integer.toHexString(b & 0xff); if (hex.length() == 1) { sb.append("0"); } sb.append(hex); } return sb.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } } ``` 5. 编写登录服务类,调用登录接口中的方法来进行登录验证。首先对用户输入的密码进行MD5加密,然后与数据库中的密码进行比对。 例如,可以使用以下代码来实现登录服务: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class LoginService { private final LoginMapper loginMapper; @Autowired public LoginService(LoginMapper loginMapper) { this.loginMapper = loginMapper; } public boolean login(String username, String password) { String encryptedPassword = MD5Util.encode(password); User user = loginMapper.getUserByUsername(username); return user != null && user.getPassword().equals(encryptedPassword); } } ``` 6. 在控制器中,注入登录服务类,并且编写处理登录请求的方法。 例如,可以使用以下代码来实现登录控制器: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController public class LoginController { private final LoginService loginService; @Autowired public LoginController(LoginService loginService) { this.loginService = loginService; } @PostMapping("/login") public String login(@RequestBody LoginRequest loginRequest) { String username = loginRequest.getUsername(); String password = loginRequest.getPassword(); boolean success = loginService.login(username, password); if (success) { return "登录成功"; } else { return "登录失败"; } } } ``` 以上就是使用Spring Boot、MyBatis和MD5实现登录的基本步骤。请根据你的项目需求进行适当的调整和扩展

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值