MD5简单加密 梦里梦外; 2022-06-07 14:08 98阅读 0赞 MD5工具类 public class MyMD5Util { public static String md5(String password) throws NoSuchAlgorithmException{ //生成实现指定摘要算法的 MessageDigest 对象。 MessageDigest md5=MessageDigest.getInstance("MD5"); //使用指定的字节数组跟新摘要 md5.update(password.getBytes()); //调用摘要方法返回一个16位的byte数组 byte [] b=md5.digest(); //把数组转换成字符串 [95, 77, -52, 59, 90, -89, 101, -42, 29, -125, 39, -34, -72, -126, -49, -103] // System.out.println(Arrays.toString(b)); String str=""; //用来接受新生成的字符串 int bvalue=0; //接受B[i]的值,byte+一个数 如果>127会成负数 for (int i = 0; i < b.length; i++) { bvalue=b[i]; if(b[i]<0){ bvalue+=256; //把负数转换成正数 自己想怎么定义怎么定义,大于0就行 //最好大于16 Integer.toHexString(x); x大于等于16会形成一个2位的二进制数字 //小于16只有一位,不方便统计位数 } //java.lang.Integer.toHexString() 方法返回为无符号整数基数为16的整数参数的字符串表示形式。 //以下字符作为十六进制数字:0123456789ABCDEF String s=Integer.toHexString(bvalue); //一个两位的十六静止数字 str+=s; //16次 所以是32位 } return str; } } 注册的时候进行密码加密: @Override public TaoTaoResult register(TbUser user) { // TODO Auto-generated method stub //补全user信息 user.setCreated(new Date()); user.setUpdated(new Date()); //密码加密 MD5加密 //生成一个MD5加密计算 String encryptedPwd=null; try { encryptedPwd=MyMD5Util.md5(user.getPassword()); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } user.setPassword(encryptedPwd); userMapper.insertSelective(user); return new TaoTaoResult(200, null); } 登录的时候将传过来的密码进行同样的加密,然后在对面数据库中的密码,判断是否相同 @Override public TaoTaoResult login(String username,String password) { // TODO Auto-generated method stub //根据username获取用户信息 TbUserExample example =new TbUserExample(); example.createCriteria().andUsernameEqualTo(username); List<TbUser> list=userMapper.selectByExample(example); //把pssword进行加密 String encryptedPwd=null; try { encryptedPwd=MyMD5Util.md5(password); } catch (NoSuchAlgorithmException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //进行比较 if(list.size()==0||list==null){ return new TaoTaoResult(400, false, "帐号不存在"); }else{ //判断密码是否匹配 if(list.get(0).getPassword().equals(encryptedPwd)){ //帐号密码匹配 //生成token,把token保存到redis //返回登录成功 把token写入到cookie String token=UUID.randomUUID().toString(); //jedis注入jedisCluster //value 是对象信息 ObjectMapper mapper=new ObjectMapper(); String json=null; try { json = mapper.writeValueAsString(list.get(0)); } catch (JsonProcessingException e) { // TODO Auto-generated catch block e.printStackTrace(); } jedisCluster.set(token, json); //保存到redis里面 jedisCluster.set("USER_LOGIN_SUCCESS:"+token, json); //设置过期时间 jedisCluster.expire("USER_LOGIN_SUCCESS:"+token, 30*60); return new TaoTaoResult(200, "USER_LOGIN_SUCCESS:"+token, "ok"); }else{ return new TaoTaoResult(400, false, "密码错误"); } } }
相关 Android之简单加密–MD5 加密 在Android中需要对各种数据进行加密的操作,比如用户短信备份的数据加密、用户账户登陆的密码加密以及应用于服务器连接传递重要数据的加密,用处非常的多 这里介绍一下MD た 入场券/ 2022年08月26日 04:53/ 0 赞/ 208 阅读
相关 MD5简单加密 MD5工具类 public class MyMD5Util { public static String md5(String passwo 梦里梦外;/ 2022年06月07日 14:08/ 0 赞/ 99 阅读
相关 MD5加密 MD5是不可逆的,无解密一说 只有通过MD5将要比较的字符串加密后,与该字符串进行比较 由于MD5是不可逆的,所以后台比对也是直接拿着MD5加密后的密文进行对比的 示例 喜欢ヅ旅行/ 2022年06月04日 10:17/ 0 赞/ 194 阅读
相关 MD5加密 1. package com.nebula.app.app.common.utils; 2. 3. import java.math.BigInteger; 古城微笑少年丶/ 2022年05月23日 07:56/ 0 赞/ 218 阅读
相关 MD5加密 ![ContractedBlock.gif][] ![ExpandedBlockStart.gif][] Code 1.Default.aspx <html> 深藏阁楼爱情的钟/ 2021年12月22日 22:27/ 0 赞/ 375 阅读
相关 md5加密 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExceptio 快来打我*/ 2021年09月26日 09:48/ 0 赞/ 370 阅读
相关 MD5加密 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExceptio 水深无声/ 2021年09月26日 06:22/ 0 赞/ 507 阅读
相关 java简单的MD5加密 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExceptio 忘是亡心i/ 2021年06月22日 15:38/ 0 赞/ 325 阅读
还没有评论,来说两句吧...