首页 > 解决方案 > 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);
}

标签: solidityprivate-key

解决方案


推荐阅读