solidity - Solidity 中的私钥加密
问题描述
我需要一种方法来使用私钥解密智能合约中的字符串。
场景是:
我正在构建一个类似于乐透的智能合约。用户将购买映射到加密字符串的随机令牌,因此用户无法跟踪是否已经购买了更有价值的令牌。在活动结束时,我将在智能合约中发布私钥,以便该tokenURI
函数可以返回令牌的解密 URI。
mapping(uint256 => string) private _tokenURIs;
string defaultUri;
string privateKey;
function tokenURI(uint256 tokenId) public view virtual returns (string memory) {
if (privateKey == "") {
return defaultUri
}
return decrype(_tokenURIs[tokenId], privateKey);
}
解决方案
推荐阅读
- java - 收到 javax.crypto.IllegalBlockSizeException 错误:使用填充密码解密时输入长度必须是 8 的倍数
- pdf - 在 WebView 中渲染 PDF 和 DOC 文件 - 两者都可以作为 URL 或文件 - Android
- visual-studio-2017 - VS Professional 2017 - 15.9.11 - 与安装相关的问题
- android - 如何在 android.bp 中编写条件 ifeq ($(filter-out tt_%,$(TARGET_PRODUCT)),)
- javascript - 使用构造函数比较对象内部的值
- symfony - 在教义中使用间隔时出错
- google-apps-script - Google Apps Script script.run -- 得到意外的 401,即使在发送 Oauth 令牌时也是如此
- java - Microsoft excel 日期格式的日本时代“令和”支持
- java - 如何检查字符串的哪一部分等于文本?
- android - 如何禁用显示在 android 谷歌地图上的共享按钮