Solidity - криптографические функции

Solidity также предоставляет встроенные криптографические функции. Ниже приведены важные методы -

  • 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: последний байт подписи. Этот метод возвращает адрес.

В следующем примере показано использование криптографической функции в Solidity.

пример

pragma solidity ^0.5.0;

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

Запустите указанную выше программу, следуя инструкциям в главе « Первое приложение Solidity» .

Вывод

0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8