Solidez - Funciones criptográficas

Solidity también proporciona funciones criptográficas incorporadas. Los siguientes son métodos importantes:

  • keccak256(bytes memory) returns (bytes32) - calcula el hash Keccak-256 de la entrada.

  • sha256(bytes memory) returns (bytes32) - calcula el hash SHA-256 de la entrada.

  • ripemd160(bytes memory) returns (bytes20) - calcular el hash RIPEMD-160 de la entrada.

  • sha256(bytes memory) returns (bytes32) - calcula el hash SHA-256 de la entrada.

  • ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address)- recuperar la dirección asociada con la clave pública de la firma de la curva elíptica o devolver cero en caso de error. Los parámetros de la función corresponden a los valores ECDSA de la firma: r - primeros 32 bytes de la firma; s: segundos 32 bytes de firma; v: 1 byte final de firma. Este método devuelve una dirección.

El siguiente ejemplo muestra el uso de la función criptográfica en Solidity.

Ejemplo

pragma solidity ^0.5.0;

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

Ejecute el programa anterior siguiendo los pasos proporcionados en el capítulo Primera aplicación de Solidity.

Salida

0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8