자바스크립트 SHA256 암호화하기 예제
참고사이트: https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
이 예제를 그대로 블로그 포스팅에 넣어보려고 했는데 무슨 이유에선지 잘 안되는 것 같다.
그래서 전체 코드를 복사해서 html 파일을 만들어서 테스트해야 제대로된 결과가 나온다.
<html>
<head>
<title>SHA-256</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div>결과 : <span id="resultText"></span></div>
<input type="text" placeholder="value 입력" id="inputText"/>
<button id="sha256Button">암호화</button>
<script>
function sha256(str) {
var buffer = new TextEncoder("utf-8").encode(str);
return crypto.subtle.digest("SHA-256", buffer).then(function (hash) {
return hex(hash);
});
}
function hex(buffer) {
var hexCodes = [];
var view = new DataView(buffer);
for (var i = 0; i < view.byteLength; i += 4) {
var value = view.getUint32(i)
var stringValue = value.toString(16)
var padding = '00000000'
var paddedValue = (padding + stringValue).slice(-padding.length)
hexCodes.push(paddedValue);
}
return hexCodes.join("");
}
$(document).ready(function(){
$("#sha256Button").click(function(){
sha256($("#inputText").val()).then(function(digest) {
$("#resultText").text(digest);
});
});
});
</script>
</body>
</html>
'dev' 카테고리의 다른 글
리눅스 ssh 접속 명령어 (0) | 2017.12.13 |
---|---|
비트코인, 이더리움 지갑 생성하기 (BlockCypher API 활용) (7) | 2017.12.08 |
Eclipse Dynamic Web Project에서 pom.xml 사용하기 (0) | 2017.12.07 |
[PHP] 윈도우에서 php 개발환경 설정 (0) | 2017.12.02 |
Spring Framework 개발환경 설정 (Eclipse Neon) (0) | 2017.12.01 |
[Android] 앱 권한 요청하기 (0) | 2017.11.06 |
[Android] 안드로이드 스튜디오 한글깨짐 현상 해결하기 (0) | 2017.10.23 |
[Android] SQLite 사용하기 (예제) (0) | 2017.10.19 |