lynlab logo

blog

about

#development

각 프로그래밍 언어별 문자열을 해싱하는 방법

각 프로그래밍 언어별 문자열을 해싱하는 방법

profile picture

Hoerin Doh | 2019. 04. 22

아래는 각 프로그래밍 언어별로 주어진 문자열을 SHA-512 알고리즘으로 해싱하는 예제 코드입니다.

Python

import hashlib

message = "my_message_to_hash"

m = hashlib.sha512()
m.update(message.encode())
print(m.hexdigest())

NodeJS

const crypto = require('crypto');

const message = 'my_message_to_hash';

const hash = crypto.createHash('sha512');
hash.update(message, 'utf-8');
console.log(hash.digest('hex'))

Java

import java.math.BigInteger;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


public class HashExample {
    public static void main(String args[]) throws NoSuchAlgorithmException, UnsupportedEncodingException {
        String message = "my_message_to_hash";
				
        MessageDigest md = MessageDigest.getInstance("SHA-512");
        md.update(message.getBytes("utf8"));
        String hexDigest = String.format("%040x", new BigInteger(1, md.digest()));

        System.out.println(hexDigest);
    }
}

C#

using System;
using System.Text;
using System.Security.Cryptography;

public class HashExample {
    public static void Main() {
        string message = "my_message_to_hash";
				
        SHA512 sha512 = SHA512.Create();
        byte[] queryHashByteArray = sha512.ComputeHash(Encoding.UTF8.GetBytes(message));
        string queryHash = BitConverter.ToString(queryHashByteArray).Replace("-", "").ToLower();
				
        Console.WriteLine(queryHash);
    }
}

관련 포스트

asdf — 하나의 명령어로 관리하는 버전 매니저 썸네일

asdf — 하나의 명령어로 관리하는 버전 매니저

요즘 세상에 하나의 언어로 모든 시스템을 개발하는 경우는 보기 드뭅니다. asdf는 각각의 개발 환경을 플러그인 형식으로 만들어 하나의 명령어로 관리하기 위해 탄생했습니다.

Keybase와 GPG 키를 이용해 Git 커밋에 서명하기 썸네일

Keybase와 GPG 키를 이용해 Git 커밋에 서명하기

Git은 커밋한 사람의 이메일 주소를 검증하지 않습니다. 하지만 GPG 키를 이용해 커밋에 서명을 남기면 커밋한 사람이 본인임을 증명할 수 있습니다.

[Drone] 인메모리 볼륨을 활용해 CI 속도 향상하기 썸네일

[Drone] 인메모리 볼륨을 활용해 CI 속도 향상하기

데이터 IO 작업으로 인해 CI/CD 프로세스에 병목이 생긴다면, 인메모리 볼륨을 활용해 속도를 크게 향상시킬 수 있습니다.

크리에이티브 커먼즈 라이선스

본 사이트의 저작물은 별도의 언급이 없는 한 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0  국제 라이선스에 따라 이용할 수 있습니다.

© 2011 - 2021 Hoerin Doh, All rights reserved.