• java实现SHA1加密算法


    原文链接: https://segmentfault.com/a/1190000038814992

    public class SHAUtils {

    /**
    * sha1加密
    * @param data
    * @return
    * @throws NoSuchAlgorithmException
    */
    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);
    }
    }

  • 相关阅读:
    Linux文件查询笔记
    C语言学习和回顾
    hive的数据压缩
    进程线程那些事儿
    hive的数据存储格式
    hive的内置函数
    Hive自定义函数
    spark编译
    Impala的安装和使用
    数据库的读写分离
  • 原文地址:https://www.cnblogs.com/fswhq/p/16505383.html
Copyright © 2020-2023  润新知