Solidity
uint(keccak256(_str)); 的返回值是多少?
我正在學習加密殭屍課程的第 1 章。
uint id = zombies.push(Zombie(_name, _dna)) - 1; NewZombie(id, _name, _dna); } function _generateRandomDna(string _str) private view returns (uint) { uint rand = uint(keccak256(_str)); return rand % dnaModulus; }
this 的返回應該是 16 個數字。例如“8356281049284737”。但是對於
return rand % dnaModulus;
. 但我不知道什麼是回報uint(keccak256(_str))
。
Keccak256 是乙太坊中使用的 EVM 雜湊函式。它與 SHA3-256 非常相似。您還可以使用 Web3js、ethers.js 等工具在 EVM 之外使用此散列函式,或者在此處線上嘗試。在 Solidity 中,呼叫將返回 bytes32 形式的雜湊,然後可以通過將其轉換為 uint256 輕鬆地將其轉換為數字。