标签:hash abi encodePacked Keccak256 Soldity0.8 memory keccak256 public Hashing
keccak256 computes the Keccak-256 hash of the input. Some use cases are: Creating a deterministic unique ID from a input Commit-Reveal scheme Compact cryptographic signature (by signing the hash instead of a larger input) // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; contract HashFunction { function hash( string memory _text, uint _num, address _addr ) public pure returns (bytes32) { return keccak256(abi.encodePacked(_text, _num, _addr)); } // Example of hash collision // Hash collision can occur when you pass more than one dynamic data type // to abi.encodePacked. In such case, you should use abi.encode instead. function collision(string memory _text, string memory _anotherText) public pure returns (bytes32) { // encodePacked(AAA, BBB) -> AAABBB // encodePacked(AA, ABBB) -> AAABBB return keccak256(abi.encodePacked(_text, _anotherText)); } } contract GuessTheMagicWord { bytes32 public answer = 0x60298f78cc0b47170ba79c10aa3851d7648bd96f2f8e46a19dbc777c36fb0c00; // Magic word is "Solidity" function guess(string memory _word) public view returns (bool) { return keccak256(abi.encodePacked(_word)) == answer; } }
标签:hash,abi,encodePacked,Keccak256,Soldity0.8,memory,keccak256,public,Hashing 来源: https://www.cnblogs.com/zaleswift/p/16538738.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。