문자열을 해싱하는 JAVA 함수를 변환해야합니다. 두 개의 매개 변수가있는 "SHA256"해시
이
함수입니다 :private static String hmacSha256(String value, String key) throws NoSuchAlgorithmException, InvalidKeyException {
byte[] keyBytes = key.getBytes();
SecretKeySpec signingKey = new SecretKeySpec(keyBytes, "HmacSHA256");
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(value.getBytes());
return String.format("%0" + (rawHmac.length << 1) + "x", new BigInteger(1, rawHmac));
}
내 의심의 여지가 있습니다 :
- 문자열 값 :이 기능은이 개 매개 변수를
- 문자열 키하여 crypt 문자열입니다 : 그것은 또 다른입니다 키
나는 이미 Sha256을 사용했지만, 나는 항상 하나의 매개 변수 (하나의 str 암호화하려면)
제발, 어떻게 C#에서이 함수를 작성하거나 논리적 인 나에게 설명 할 수있는 사람이 있습니까?
는
hmac은 해시가 아니며 해시 기반 코드 https://en.wikipedia.org/wiki/Hash-based_message_authentication_code입니다. – user1516873