W3Schools



是否可以在智能合约中执行加密操作?我特别考虑简单哈希(SHA-1/256/3)和对称加密(AES)。显然,处理加密的密钥材料是一个必须解决的问题。但是,一般来说,这些操作是否可行?

smart-contractcryptography
4个回答
1

合同中的操作应尽可能短。因为它直接与块生成时间有关。

我建议你在合同之外做加密事务,并将结果作为二进制文件传递给合同。


4

是!这很有可能!查看eosio github或repo文件夹中的Dice合约示例EOS /合同/骰子 The function shown is a sha256 hashing method called sha256( )

链接到包含它在github上使用的实际dice.cpp文件:Eosio示例dice.cpp文件


1

对的,这是可能的。请看这里:HTTPS://GitHub.com/EOS IO/EOS/blob/master/contracts/EOS IO lib/crypt O.还

开发人员还可以编译他们喜欢的C / C ++加密库来执行EOSIO本身不支持的操作。


2

有一个crypto.h inside of the contracts/eosiolib folder that has SHA/ripemd methods.

AES应该在离线链接完成,因为任何重放区块链并查看动作参数的人都可以看到明文。