"함수 hash hmac()"의 두 판 사이의 차이

4번째 줄: 4번째 줄:
==Java==
==Java==
[[분류: Java]]
[[분류: Java]]
{{참고|Java hashHmacSha1()}}
{{참고|자바 hashHmacSha1()}}
<source lang='java'>
<source lang='java'>
public static String hashHmacSha1(String value, String key) {
public static String hashHmacSha1(String value, String key) {

2017년 4월 13일 (목) 18:40 판

hash_hmac()

1 Java

public static String hashHmacSha1(String value, String key) {
	try {
		byte[] hexBytes = (byte[]) 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 PHP

echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
# b8e7ae12510bdfb1812e463a7f086122cf37e4f7
echo hash_hmac( 'sha1', 'hello world', 'secret' );
# 03376ee7ad7bbfceee98660439a4d8b125122a5a
$h = hash_hmac( 'sha1', 'hello world', 'secret', true );
echo base64_encode( $h );
# Azdu5617v87umGYEOaTYsSUSKlo=

3 Python

import hmac
import base64
h = hmac.new('hello world').digest()
print( base64.b64encode( h ) )
# sGXfsWEMawIp9we7B/iuuA==
import hmac
import base64
import hashlib
h = hmac.new('secret', 'hello world', hashlib.sha1).hexdigest()
print( h )
# 03376ee7ad7bbfceee98660439a4d8b125122a5a
import hmac
import base64
import hashlib
h = hmac.new('secret', 'hello world', hashlib.sha1).digest()
print( base64.b64encode( h ) )
# Azdu5617v87umGYEOaTYsSUSKlo=

4 같이 보기

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