自学内容网 自学内容网

使用 SHA-1 算法进行加密签名

使用 SHA-1 算法进行加密的 Java 代码示例。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Sha1Example {
    public static void main(String[] args) {
        String input = "签名内容"; // 
        String sha1Hash = sha1(input);
        System.out.println("SHA-1 Hash: " + sha1Hash);
    }

    public static String sha1(String input) {
        try {
            // 创建 SHA-1 消息摘要实例
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            // 更新摘要
            digest.update(input.getBytes());
            // 获取字节数组
            byte[] hashBytes = digest.digest();
            // 转换为十六进制字符串
            StringBuilder hexString = new StringBuilder();
            for (byte b : hashBytes) {
                String hex = Integer.toHexString(0xff & b);
                if (hex.length() == 1) {
                    hexString.append('0'); // 确保每个字节转换为两位数
                }
                hexString.append(hex);
            }
            return hexString.toString();
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("无效的SHA-1算法", e);
        }
    }
}
  • MessageDigest:用于生成摘要信息的类。
  • update():用于更新摘要与输入数据。
  • digest():计算最终的摘要,并返回字节数组。
  • 转换为十六进制:将字节数组转换为可读的十六进制字符串。

原文地址:https://blog.csdn.net/hay23455/article/details/143570248

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!