文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java实现字符串SHA1加密方法是什么

2023-06-25 16:52

关注

Java实现字符串SHA1加密方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Java 字符串SHA1加密

导入类

import java.security.MessageDigest;

定义函数

private String toUserPwd(final String password) {  try {   if (password == null) {    return null;   }   final MessageDigest messageDigest = MessageDigest.getInstance("SHA");   final byte[] digests = messageDigest.digest(password.getBytes());   final StringBuilder stringBuilder = new StringBuilder();   for (int i = 0; i < digests.length; i++) {    int halfbyte = (digests[i] >>> 4) & 0x0F;    for (int j = 0; j <= 1; j++) {     stringBuilder.append(       ((0 <= halfbyte) && (halfbyte <= 9))         ? (char) ('0' + halfbyte)         : (char) ('a' + (halfbyte - 10)));     halfbyte = digests[i] & 0x0F;    }   }   return stringBuilder.toString();  } catch (final Throwable throwable) {   this.log.error("error converting password", throwable);   return null;  } }

javaSHA1实现加密解密

封装一个方法用于加密

    public static String sha1(String data) throws NoSuchAlgorithmException {        //加盐   更安全一些        data += "lyz";        //信息摘要器                                算法名称        MessageDigest md = MessageDigest.getInstance("SHA1");        //把字符串转为字节数组        byte[] b = data.getBytes();        //使用指定的字节来更新我们的摘要        md.update(b);        //获取密文  (完成摘要计算)        byte[] b2 = md.digest();        //获取计算的长度        int len = b2.length;        //16进制字符串        String str = "0123456789abcdef";        //把字符串转为字符串数组        char[] ch = str.toCharArray();                //创建一个40位长度的字节数组        char[] chs = new char[len*2];        //循环20次        for(int i=0,k=0;i<len;i++) {            byte b3 = b2[i];//获取摘要计算后的字节数组中的每个字节            // >>>:无符号右移              // &:按位与            //0xf:0-15的数字            chs[k++] = ch[b3 >>> 4 & 0xf];            chs[k++] = ch[b3 & 0xf];        }                //字符数组转为字符串        return new String(chs);    }

主函数测试

public static void main(String[] args) throws NoSuchAlgorithmException {        String data = "跳梁小豆tlxd666";        String result = sha1(data);        System.out.println("加密后:"+result);    }

看完上述内容,你们掌握Java实现字符串SHA1加密方法是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯