Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java sha1加密

作者:戮尽逆者   发布日期:2025-02-13   浏览:42

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

public class SHA1Example {

    public static String getSHA1(String input) {
        try {
            // 获取MessageDigest实例,指定算法为SHA-1
            MessageDigest md = MessageDigest.getInstance("SHA-1");

            // 将输入字符串转换为字节数组并更新MessageDigest对象
            byte[] messageDigest = md.digest(input.getBytes());

            // 创建一个StringBuilder来构建十六进制表示的哈希值
            StringBuilder hexString = new StringBuilder();
            for (byte b : messageDigest) {
                String hex = Integer.toHexString(0xFF & b);
                if (hex.length() == 1) {
                    hexString.append('0');
                }
                hexString.append(hex);
            }

            // 返回十六进制表示的SHA-1哈希值
            return hexString.toString();
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }

    public static void main(String[] args) {
        String input = "Hello, World!";
        System.out.println("SHA-1: " + getSHA1(input));
    }
}

解释说明:

  1. 导入必要的类:我们导入了java.security.MessageDigestjava.security.NoSuchAlgorithmException
  2. 获取MessageDigest实例:通过MessageDigest.getInstance("SHA-1")获取SHA-1算法的MessageDigest实例。
  3. 更新MessageDigest对象:将输入字符串转换为字节数组,并使用digest()方法计算哈希值。
  4. 构建十六进制表示的哈希值:通过遍历字节数组,将每个字节转换为两位的十六进制字符串,并拼接成最终的哈希值。
  5. 异常处理:如果指定的算法不存在(例如SHA-1),则抛出NoSuchAlgorithmException,我们在代码中将其包装为RuntimeException
  6. 测试代码:在main方法中,我们对字符串"Hello, World!"进行SHA-1加密,并打印结果。

上一篇:java获取当前ip

下一篇:在jsp页面中,正确引入javabean的是

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站