我在javascript中有一个前端,在Java中有一个后端。 我让用户使用web3js在前端使用其私钥签署原始交易。之后,已签名的事务将返回到Java后端,后端通过奇偶校验实例广播该事务。
我的问题: 我担心黑客在签名之前可以在其浏览器中使用javascript操纵原始交易。这样,他们可以更改发送的金额。有没有办法提取将使用web3j从已签名的交易中发送的金额? 如果是,我可以在广播已签署的交易之前再次检查该值。
BTW:如果它很重要,那是令牌交易,而不是ETH交易。
谢谢!
答案 0 :(得分:0)
这需要对密码学有所了解。
在私钥/公钥对加密中,“签名”基本上是唯一用私钥加密并用pub密钥解密的情况。如果您设法解密,则意味着签名是有效的,因为该发布密钥也属于谁,肯定是对内容进行签名的人。
因此,如果您具有发布密钥,则可以解密“签名”交易。
现在,如果您担心黑客和安全性,那么在客户端和内存中持有密钥不是一个好习惯。因此,如果这是一个认真的项目,则可能需要重新考虑您的方法。