查看jks文件的MD5

From: https://blog.51cto.com/u_16175512/7903626

package com.lckj.toolbox.util;

import lombok.extern.slf4j.Slf4j;
import lombok.var;

import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.MessageDigest;

@Slf4j
public class JksMD5Util {

    public static void main(String[] args) {
        var md5 = getMD5("E:\\xxxx\\android.jks", "112233");
        log.info("md5 = {}", md5);
    }

    public static String getMD5(String jksFilePath, String jksPassword) {
        String md5Value = null;
        try {
            // 打開.jks文件
            FileInputStream fis = new FileInputStream(jksFilePath);

            // 實例化KeyStore對象
            KeyStore keyStore = KeyStore.getInstance("JKS");

            // 加載.jks文件
            keyStore.load(fis, jksPassword.toCharArray());

            // 計算MD5值
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] buffer = new byte[8192];
            int length;
            while ((length = fis.read(buffer)) != -1) {
                md.update(buffer, 0, length);
            }
            byte[] digest = md.digest();

            // 轉換爲十六進制字符串
            StringBuilder sb = new StringBuilder();
            for (byte b : digest) {
                sb.append(String.format("%02X", b & 0xff));
            }
            md5Value = sb.toString();

            // 關閉文件流
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return md5Value;
    }

}

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章