pragma solidity 0.6.2;
/*
获取随机数
*/
contract Random{
function getSalt() private view returns(uint256){
return now + block.number + tx.origin.balance + uint160(tx.origin) + 113054462744175736859760933276506452880756369766118458860348233028355831172232;
}
function getRandom() public view returns(uint256) {
uint256 a = getSalt();
bytes memory s = uintToBytes(a);
bytes32 b = sha256(bytes(s));
string memory str = new string(b.length);
bytes memory c = bytes(str);
for(uint256 i=0;i<b.length;i++){
c[i] = b[i];
}
return bytesToUint(c) % 10;
}
function uintToBytes(uint256 x) private pure returns (bytes memory c) {
bytes32 b = bytes32(x);
c = new bytes(32);
for (uint i=0; i < 32; i++) {
c[i] = b[i];
}
}
function bytesToUint(bytes memory b) private pure returns (uint256){
uint256 number;
for(uint i= 0; i<b.length; i++){
number = number + uint8(b[i])*(2**(8*(b.length-(i+1))));
}
return number;
}
}
Random
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Linked List Random Node Given a singly linked list, retur...
- 生成随机数 第一种:new Random() 第二种:Math.random()返回的数值是[0.0,1.0)的d...
- 1. random() random()不是一个真正的伪随机数发生器,因此在使用前必须初始化随机种子,否则每次生成...
- numpy.random.random(size=None)¶ Return random floats in t...
- numpy.random.seed的用法https://blog.csdn.net/weixin_41571493...