您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DecryptSecret函数代码示例

51自学网 2021-06-01 20:25:58
  C++
这篇教程C++ DecryptSecret函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DecryptSecret函数的典型用法代码示例。如果您正苦于以下问题:C++ DecryptSecret函数的具体用法?C++ DecryptSecret怎么用?C++ DecryptSecret使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DecryptSecret函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: LOCK

bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn){    {        LOCK(cs_KeyStore);        if (!SetCrypted())            return false;        CryptedKeyMap::const_iterator mi = mapCryptedKeys.begin();        for (; mi != mapCryptedKeys.end(); ++mi)        {            const CPubKey &vchPubKey = (*mi).second.first;            const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;            CKeyingMaterial vchSecret;            if(!DecryptSecret(vMasterKeyIn, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))                return false;            if (vchSecret.size() != 32)                return false;            CKey key;            key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());            if (key.GetPubKey() == vchPubKey)                break;            return false;        }        vMasterKey = vMasterKeyIn;    }    NotifyStatusChanged(this);    return true;}
开发者ID:BeOleg,项目名称:WACG,代码行数:28,


示例2: DecryptKey

static bool DecryptKey(const CKeyingMaterial& vMasterKey, const std::vector<unsigned char>& vchCryptedSecret, const CPubKey& vchPubKey, CKey& key){    CKeyingMaterial vchSecret;    if(!DecryptSecret(vMasterKey, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))        return false;    if (vchSecret.size() != 32)        return false;    key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());    return key.VerifyPubKey(vchPubKey);}
开发者ID:2GOOD,项目名称:Ladybug-pupa,代码行数:12,


示例3: assert

bool CAccountHD::Unlock(const CKeyingMaterial& vMasterKeyIn){    assert(sizeof(accountUUID) == WALLET_CRYPTO_IV_SIZE);    CKeyingMaterial vchAccountKeyPrivEncoded;    if (!DecryptSecret(vMasterKeyIn, accountKeyPrivEncrypted, std::vector<unsigned char>(accountUUID.begin(), accountUUID.end()), vchAccountKeyPrivEncoded))        return false;    accountKeyPriv.Decode(vchAccountKeyPrivEncoded.data());    CKeyingMaterial vchPrimaryChainKeyPrivEncoded;    if (!DecryptSecret(vMasterKeyIn, primaryChainKeyEncrypted, primaryChainKeyPub.pubkey.GetHash(), vchPrimaryChainKeyPrivEncoded))        return false;    primaryChainKeyPriv.Decode(vchPrimaryChainKeyPrivEncoded.data());    CKeyingMaterial vchChangeChainKeyPrivEncoded;    if (!DecryptSecret(vMasterKeyIn, changeChainKeyEncrypted, changeChainKeyPub.pubkey.GetHash(), vchChangeChainKeyPrivEncoded))        return false;    changeChainKeyPriv.Decode(vchChangeChainKeyPrivEncoded.data());    return true;}
开发者ID:Gulden,项目名称:gulden-official,代码行数:21,


示例4: DecryptKey

bool WalletUtilityDB::DecryptKey(const std::vector<unsigned char>& vchCryptedSecret, const CPubKey& vchPubKey, CKey& key){    CKeyingMaterial vchSecret;    if(!DecryptSecret(vchCryptedSecret, vchPubKey.GetHash(), vchSecret))        return false;    if (vchSecret.size() != 32)        return false;    key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());    return true;}
开发者ID:terracoin,项目名称:terracoin,代码行数:12,


示例5: LOCK

bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn){    {        LOCK(cs_KeyStore);        if (!SetCrypted())            return false;        bool keyPass = false;        bool keyFail = false;        CryptedKeyMap::const_iterator mi = mapCryptedKeys.begin();        for (; mi != mapCryptedKeys.end(); ++mi)        {            const CPubKey &vchPubKey = (*mi).second.first;            const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;            CKeyingMaterial vchSecret;            if(!DecryptSecret(vMasterKeyIn, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))            {                keyFail = true;                break;            }            if (vchSecret.size() != 32)            {                keyFail = true;                break;            }            CKey key;            key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());            if (key.GetPubKey() != vchPubKey)            {                keyFail = true;                break;            }            keyPass = true;            if (fDecryptionThoroughlyChecked)                break;        }        if (keyPass && keyFail)        {            LogPrintf("The wallet is probably corrupted: Some keys decrypt but not all.");            assert(false);        }        if (keyFail || !keyPass)            return false;        vMasterKey = vMasterKeyIn;        fDecryptionThoroughlyChecked = true;    }    NotifyStatusChanged(this);    return true;}
开发者ID:greencoin-dev,项目名称:dash,代码行数:49,


示例6: DecryptKey

/* The old namecoind encrypted not the 32-byte secret, but the full 279-byte   serialised keys.  Thus, we need to handle both formats.  This is done   by the following utility routine:  It decrypts a secret and initialises   a CKey object from it.  */static bool DecryptKey(const CKeyingMaterial& vMasterKey, const std::vector<unsigned char>& vchCryptedSecret, const CPubKey& vchPubKey, CKey& key){    CKeyingMaterial vchSecret;    if(!DecryptSecret(vMasterKey, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))        return false;    //LogPrintf("%s : decrypted %u-byte key/n", __func__, vchSecret.size());    if (vchSecret.size() == 32)    {        key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());        return true;    }    return key.SetPrivKey(vchSecret, vchPubKey.IsCompressed());}
开发者ID:domob1812,项目名称:namecore,代码行数:19,


示例7: DecryptSpendingKey

static bool DecryptSpendingKey(const CKeyingMaterial& vMasterKey,                               const std::vector<unsigned char>& vchCryptedSecret,                               const libzcash::PaymentAddress& address,                               libzcash::SpendingKey& sk){    CKeyingMaterial vchSecret;    if(!DecryptSecret(vMasterKey, vchCryptedSecret, address.GetHash(), vchSecret))        return false;    if (vchSecret.size() != libzcash::SerializedSpendingKeySize)        return false;    CSecureDataStream ss(vchSecret, SER_NETWORK, PROTOCOL_VERSION);    ss >> sk;    return sk.address() == address;}
开发者ID:cryptofuture,项目名称:hda,代码行数:16,


示例8: LOCK

bool CCryptoKeyStore::GetKey(const CKeyID &address, CKey& keyOut) const{    {        LOCK(cs_KeyStore);        if (!IsCrypted())            return CBasicKeyStore::GetKey(address, keyOut);        CryptedKeyMap::const_iterator mi = mapCryptedKeys.find(address);        if (mi != mapCryptedKeys.end())        {            const CPubKey &vchPubKey = (*mi).second.first;            const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;            CKeyingMaterial vchSecret;            if (!DecryptSecret(vMasterKey, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))                return false;            if (vchSecret.size() != 32)                return false;            keyOut.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());            return true;        }    }    return false;}
开发者ID:PEDPRESIDENT,项目名称:NARCANISUMSOURCE,代码行数:23,


示例9: LogPrintf

bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn){    if (fDebug)        LogPrintf("CCryptoKeyStore::Unlock()/n");        {        LOCK(cs_KeyStore);        if (!SetCrypted())            return false;                int nUnlocked = 0;                CryptedKeyMap::const_iterator mi = mapCryptedKeys.begin();        for (; mi != mapCryptedKeys.end(); ++mi)        {            const CPubKey &vchPubKey = (*mi).second.first;            const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;            CSecret vchSecret;                        if (vchCryptedSecret.size() < 1) // key was recieved from stealth/anon txn with wallet locked, will be expanded after this            {                if (fDebug)                    LogPrintf("Skipping unexpanded key %s./n", vchPubKey.GetHash().ToString().c_str());                continue;            };                        if (!DecryptSecret(vMasterKeyIn, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))            {                LogPrintf("DecryptSecret() failed./n");                return false;            };                        if (vchSecret.size() != 32)                return false;                        CKey key;            key.Set(vchSecret.begin(), vchSecret.end(), vchPubKey.IsCompressed());                        if (key.GetPubKey() != vchPubKey)            {                LogPrintf("Unlock failed: PubKey mismatch %s./n", vchPubKey.GetHash().ToString().c_str());                return false;            };                        nUnlocked++;            break;        };                if (nUnlocked < 1) // at least 1 key must pass the test        {            if (mapCryptedKeys.size() > 0)            {                LogPrintf("Unlock failed: No keys unlocked./n");                return false;            };        };                vMasterKey = vMasterKeyIn;    }        NotifyStatusChanged(this);        return true;}
开发者ID:educoinfoundation,项目名称:educoin-foundation,代码行数:64,



注:本文中的DecryptSecret函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DefSubclassProc函数代码示例
C++ Decoding_Error函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。