Solidity - ฟังก์ชันการเข้ารหัส

Solidity มีฟังก์ชันการเข้ารหัสแบบ inbuilt เช่นกัน ต่อไปนี้เป็นวิธีการที่สำคัญ -

  • keccak256(bytes memory) returns (bytes32) - คำนวณแฮช Keccak-256 ของอินพุต

  • sha256(bytes memory) returns (bytes32) - คำนวณแฮช SHA-256 ของอินพุต

  • ripemd160(bytes memory) returns (bytes20) - คำนวณแฮช RIPEMD-160 ของอินพุต

  • sha256(bytes memory) returns (bytes32) - คำนวณแฮช SHA-256 ของอินพุต

  • ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address)- กู้คืนที่อยู่ที่เชื่อมโยงกับคีย์สาธารณะจากลายเซ็นโค้งวงรีหรือส่งคืนศูนย์เมื่อเกิดข้อผิดพลาด พารามิเตอร์ฟังก์ชันสอดคล้องกับค่า ECDSA ของลายเซ็น: r - ลายเซ็น 32 ไบต์แรก; s: ลายเซ็น 32 ไบต์ที่สอง; v: ลายเซ็น 1 ไบต์สุดท้าย วิธีนี้ส่งคืนที่อยู่

ตัวอย่างต่อไปนี้แสดงการใช้ฟังก์ชันการเข้ารหัสใน Solidity

ตัวอย่าง

pragma solidity ^0.5.0;

contract Test {   
   function callKeccak256() public pure returns(bytes32 result){
      return keccak256("ABC");
   }  
}

เรียกใช้โปรแกรมข้างต้นโดยใช้ขั้นตอนที่ให้ไว้ในบทSolidity First Application

เอาต์พุต

0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8