Skip to content

Instantly share code, notes, and snippets.

@ucpwang
Created January 31, 2018 08:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ucpwang/448173f5191235e8afa4995e34023a05 to your computer and use it in GitHub Desktop.
Save ucpwang/448173f5191235e8afa4995e34023a05 to your computer and use it in GitHub Desktop.
[javascript & java] HMAC값 생성 (sha1, base64)

[javascript & java] HMAC값 생성 (sha1, base64)

javascript

const crypto = require('crypto');

const key = 'secret key';
const data = 'data data data data data data data data data data data';

const hmac = crypto.createHmac('sha1', key);
hmac.update(data);
const str = hmac.digest('base64');

console.log(`result : ${str}`); // result : GWf8CRCtvePYZPxjTFqUsIoueKo=
  • node.js crypto모듈 사용

java

@Test
public void test() throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException {

    String key = "secret key";
    String data = "data data data data data data data data data data data";

    final String HMAC_SHA1_ALGORITHM = "HmacSHA1";
    Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
    mac.init(new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM));
    mac.update(data.getBytes(StandardCharsets.UTF_8.name()));
    String str = Base64.encodeBase64String(mac.doFinal());

    System.out.println(String.format("result : %s", str)); // result : GWf8CRCtvePYZPxjTFqUsIoueKo=

}
  • java javax.crypto패키지 사용 (Mac Class)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment