Im是一个dapp,它保存/管理敏感数据,这些数据可能需要加密和解密,并再次推入链中。
我知道在智能契约中加密数据是不安全的,这就是为什么我在考虑离链加密机制。我想用公钥加密数据,然后用私钥解密。然而,我发现流行的钱包s/w喜欢元问题不允许这样做。
1.实现这一目标的可能方法或任何其他更好的方法是什么?(我认为管理用户eth密钥并不那么安全)
2.如果使用自定义密钥进行加密,是否可以使用诸如Google或Amazon这样的密钥管理工具来管理密钥和加密数据?
发布于 2019-02-11 12:12:19
您可以使用公钥加密数据,并使用标准加密(特别是使用椭圆曲线集成加密方案(ECIES) ),用私钥解链解密数据。
在python中,一个使用ethereum键的示例:
https://github.com/tritone11/eth-ecies-py
在锈病中:
https://github.com/tritone11/rust-eth-ecies
在javascript中:
https://github.com/libertylocked/eth-ecies
在python中,python有时会让人头疼,您可以获得以下相同的结果:
https://github.com/ethereum/trinity/blob/master/p2p/ecies.py
发布于 2019-03-17 14:25:53
MetaMask不支持加密/解密,但支持链外签名,您可以在链上验证。
签名将使用用户私钥。这样,它是100%真实的。
对于数据,您可以将数据保存在链外或链上.但是,与加密和解密不同,您必须使用ask用户签名,然后您可以在链上和链外验证签名。
实际上,这方面已经有了EIP712标准。您可以在这里检查它与MetaMask的工作方式:https://medium.com/metamask/eip712-is-coming-what-to-expect-and-how-to-use-it-bb92fd1a7a26
Bellow是如何要求用户签署特定数据的:

https://ethereum.stackexchange.com/questions/66910
复制相似问题