Solidité - Fonctions cryptographiques
Solidity fournit également des fonctions cryptographiques intégrées. Voici des méthodes importantes -
keccak256(bytes memory) returns (bytes32) - calcule le hachage Keccak-256 de l'entrée.
sha256(bytes memory) returns (bytes32) - calcule le hachage SHA-256 de l'entrée.
ripemd160(bytes memory) returns (bytes20) - calculer le hachage RIPEMD-160 de l'entrée.
sha256(bytes memory) returns (bytes32) - calcule le hachage SHA-256 de l'entrée.
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address)- récupérer l'adresse associée à la clé publique à partir de la signature de la courbe elliptique ou renvoyer zéro en cas d'erreur. Les paramètres de fonction correspondent aux valeurs ECDSA de la signature: r - 32 premiers octets de signature; s: deuxième 32 octets de signature; v: dernier octet de signature. Cette méthode renvoie une adresse.
L'exemple suivant montre l'utilisation de la fonction cryptographique dans Solidity.
Exemple
pragma solidity ^0.5.0;
contract Test {
function callKeccak256() public pure returns(bytes32 result){
return keccak256("ABC");
}
}
Exécutez le programme ci-dessus en suivant les étapes fournies dans le chapitre Application Solidity First .
Production
0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8