"자바 hashHmacSha1()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;Java hashHmacSha1()
;Java hashHmacSha1()
<source lang='java'>
<syntaxhighlight lang='java'>
public static String hashHmacSha1(String value, String key) {
public static String hashHmacSha1(String value, String key) {
try {
try {
byte[] hexBytes = (byte[]) new Hex().encode(hashHmacSha1Raw(value,key));
byte[] hexBytes = new Hex().encode(hashHmacSha1Raw(value,key));
return new String(hexBytes, "UTF-8");
return new String(hexBytes, "UTF-8");
} catch (Exception e) {
} catch (Exception e) {
27번째 줄: 27번째 줄:
// �7n�{���f�9�ر%�*Z
// �7n�{���f�9�ر%�*Z
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[함수 hash_hmac()]]
* [[함수 hash_hmac()]]


==참고 자료==
==참고==
* http://stackoverflow.com/questions/6312544/hmac-sha1-how-to-do-it-properly-in-java
* http://stackoverflow.com/questions/6312544/hmac-sha1-how-to-do-it-properly-in-java


[[분류: Java]]
[[분류: Java]]
[[분류: 해시]]
[[분류: 해시]]

2020년 11월 2일 (월) 02:49 기준 최신판

1 개요[ | ]

Java hashHmacSha1()
public static String hashHmacSha1(String value, String key) {
	try {
		byte[] hexBytes = new Hex().encode(hashHmacSha1Raw(value,key));
		return new String(hexBytes, "UTF-8");
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
public static byte[] hashHmacSha1Raw(String value, String key) {
	try {
		byte[] keyBytes = key.getBytes();           
		SecretKeySpec signingKey = new SecretKeySpec(keyBytes, "HmacSHA1");
		Mac mac = Mac.getInstance("HmacSHA1");
		mac.init(signingKey);
		return mac.doFinal(value.getBytes());
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
public static void main(String[] args) {
	System.out.println( hashHmacSha1( "hello world", "secret" ) );
	// 03376ee7ad7bbfceee98660439a4d8b125122a5a
	System.out.println( new String(hashHmacSha1Raw( "hello world", "secret" )) );
	// �7n�{���f�9�ر%�*Z
}

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}