सॉलिडिटी - क्रिप्टोग्राफ़िक फ़ंक्शंस
सॉलिडिटी इनबिल्ट क्रिप्टोग्राफिक कार्यों को भी प्रदान करती है। निम्नलिखित महत्वपूर्ण तरीके हैं -
keccak256(bytes memory) returns (bytes32) - इनपुट के Keekak-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)- अण्डाकार वक्र हस्ताक्षर से सार्वजनिक कुंजी से जुड़े पते को पुनर्प्राप्त करें या त्रुटि पर शून्य लौटें। फ़ंक्शन पैरामीटर हस्ताक्षर के ईसीडीएसए मूल्यों के अनुरूप हैं: आर - हस्ताक्षर के पहले 32 बाइट्स; एस: हस्ताक्षर के दूसरे 32 बाइट्स; v: हस्ताक्षर के अंतिम 1 बाइट। यह विधि एक पता देती है।
निम्नलिखित उदाहरण से सॉलिडिटी में क्रिप्टोग्राफिक फ़ंक्शन के उपयोग से पता चलता है।
उदाहरण
pragma solidity ^0.5.0;
contract Test {
function callKeccak256() public pure returns(bytes32 result){
return keccak256("ABC");
}
}
सॉलिडिटी फर्स्ट एप्लीकेशन चैप्टर में दिए गए चरणों का उपयोग करके उपरोक्त प्रोग्राम को चलाएं ।
उत्पादन
0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8