Keccak-256은 SHA-3 (Secure Hash Algorithm 3)의 기반이 되는 알고리즘이다. 이 함수는 주어진 입력값에 대한 256비트 (32바이트) 길이의 고유한 해시 값을 생성한다.
가변 길이의 인자를 받을 수 없으므로, 여러 인자를 전달하려면 abi.encodePacked() 함수를 함께 사용하여 인자들을 하나의 연속된 바이트 데이터로 인코딩해서 사용한다.
function keccak256_test_1_function() public pure returns(bytes32){
bytes memory encoded = abi.encodePacked("Hello, World!");
return keccak256(encoded);
}
0xacaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f
function keccak256_test_2_function() public pure returns(bytes32){
uint256 value = 12345;
string memory message= "Hello, World!";
bytes memory encoded = abi.encodePacked(message,value);
return keccak256(encoded);
}
0x20cdf4819257e79336ae86e5fe64d1b6e97b1fc096be2381e82da4acfa77c5f6
function keccak256_test_3_function() public pure returns(bool){
string memory message1= "Hello, World!";
string memory message2 = "Hi!";
bytes32 compare1 = keccak256(abi.encodePacked(message1));
bytes32 compare2 = keccak256(abi.encodePacked(message2));
if(compare1 == compare2){
return true;
}else{
return false;
}
}
false
좋은 글 감사합니다. 자주 방문할게요 :)