当前位置: 首页>>代码示例>>C++>>正文


C++ OTPassword::getPasswordWritable_char方法代码示例

本文整理汇总了C++中OTPassword::getPasswordWritable_char方法的典型用法代码示例。如果您正苦于以下问题:C++ OTPassword::getPasswordWritable_char方法的具体用法?C++ OTPassword::getPasswordWritable_char怎么用?C++ OTPassword::getPasswordWritable_char使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OTPassword的用法示例。


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

示例1: GetPassphraseFromUser

// The highest-level possible interface (used by the API)
//
// NOTE: this version circumvents the master key.
OTPassword* LegacySymmetric::GetPassphraseFromUser(
    const String& pstrDisplay,
    bool bAskTwice)  // returns a
                     // text
                     // OTPassword,
                     // or nullptr.
{
    OTPassword* pPassUserInput =
        OTPassword::CreateTextBuffer();  // already asserts.
    //  pPassUserInput->zeroMemory(); // This was causing the password to come
    // out blank.
    //
    // Below this point, pPassUserInput must be returned, or deleted. (Or it
    // will leak.)

    const char* szDisplay = "LegacySymmetric::GetPassphraseFromUser";
    OTPasswordData thePWData(
        (!pstrDisplay.Exists()) ? szDisplay : pstrDisplay.Get());
    // -------------------------------------------------------------------
    //
    // OLD SYSTEM! (NO MASTER KEY INVOLVEMENT.)
    //
    thePWData.setUsingOldSystem();  // So the cached key doesn't interfere,
                                    // since
                                    // this is for a plain symmetric key.
    // -------------------------------------------------------------------
    const auto& native = dynamic_cast<const api::internal::Native&>(OT::App());
    auto* callback = native.GetInternalPasswordCallback();
    const std::int32_t nCallback = (*callback)(
        pPassUserInput->getPasswordWritable_char(),
        pPassUserInput->getBlockSize(),
        bAskTwice ? 1 : 0,
        static_cast<void*>(&thePWData));
    const std::uint32_t uCallback = static_cast<uint32_t>(nCallback);
    if ((nCallback > 0) &&  // Success retrieving the passphrase from the user.
        pPassUserInput->SetSize(uCallback)) {
        //      otOut << "%s: Retrieved passphrase (blocksize %d, actual size
        //      %d) from "
        //               "user: %s\n", __FUNCTION__,
        //               pPassUserInput->getBlockSize(), nCallback,
        //               pPassUserInput->getPassword());
        return pPassUserInput;  // Caller MUST delete!
    } else {
        delete pPassUserInput;
        pPassUserInput = nullptr;
        otOut
            << __FUNCTION__
            << ": Sorry, unable to retrieve passphrase from user. (Failure.)\n";
    }

    return nullptr;
}
开发者ID:Open-Transactions,项目名称:opentxs,代码行数:55,代码来源:LegacySymmetric.cpp


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