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


C++ NSString::clear方法代码示例

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


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

示例1: ha1Passwd

/*
 * @param(IN)  name  user name
 * @param(IN)  realm user's realm
 * @param(IN)  cleartext user's password in clear text
 * @param(OUT) ha1 ha1 of digest auth RFC in ascii b64 format
 */
void ha1Passwd(const char*name,const char* realm,const char* cleartext,NSString& ha1)
{
    HASHHEX HA1;
    DigestCalcHA1((char*)"MD5", (char*)name, (char*)realm, (char*)cleartext,NULL,NULL,HA1);
    ha1.clear();
    ha1.append(HA1);
    return;
}
开发者ID:OldsSourcesBackups,项目名称:Heliod-Web-Server,代码行数:14,代码来源:FileRealmUser.cpp

示例2: toString

void FileRealmUser::toString(NSString& line)
{
    line.clear();
    line.append(name);
    line.append(";");
    line.append(hash);
    line.append(";");
    line.append(groups);
    return;
}
开发者ID:OldsSourcesBackups,项目名称:Heliod-Web-Server,代码行数:10,代码来源:FileRealmUser.cpp

示例3: sshaPasswd

/*
 * @param(IN) salt  salt in binary format
 * @param(IN) saltSize   number of bytes for the salt
 * @param(IN) clearPasswd clearPasswd
 * @param(OUT) the hashed password with salt in ascii b64 format
 *
 * #sample keyfile line
 * j2ee;{SSHA}WRWaz20fzw3zN9x5Uzyyk5Wfvrbe4m40rYTPrA==;staff,eng
 */
void sshaPasswd(const char* salt, const int saltSize,const char* clearPasswd,NSString& hashed)
{
    //PRBool workaround= PR_FALSE; //PR_TRUE;
    const int digestLen = SHA1_LENGTH;  //20
    unsigned char H[512];
    char* pwdAndSalt=NULL;
    
    hashed.clear();
    if (!clearPasswd) {
        return;
    }
    int tobeHashedLen = 0;
    pwdAndSalt = addSalt(clearPasswd, salt, saltSize,tobeHashedLen);

        //if (workaround==PR_TRUE) {
        //https_SHA1_Hash(H,pwdAndSalt); //refer lib/libadmin/password.cpp
        //} else {
        //const int keylen = PRIVATE_KEY_LEN;
        //unsigned char DigestPrivatekey[PRIVATE_KEY_LEN];
        //PK11_GenerateRandom(DigestPrivatekey, keylen);

        PK11Context * SHA1Ctx = PK11_CreateDigestContext(SEC_OID_SHA1);
        if (SHA1Ctx==NULL) {
            FREE(pwdAndSalt);
            return;            
        }
        PK11_DigestBegin(SHA1Ctx);
        //PK11_DigestOp(SHA1Ctx, (unsigned char*)pwdAndSalt, strlen(pwdAndSalt) );
        PK11_DigestOp(SHA1Ctx, (unsigned char*)pwdAndSalt, tobeHashedLen );
        PK11_DigestFinal(SHA1Ctx, (unsigned char *)H, (unsigned int*)&digestLen, sizeof(H));
        PK11_DestroyContext(SHA1Ctx, 1);
        PR_ASSERT(digestLen==20);
        //}

    char* base64Val=NULL;
    if (salt!=NULL && saltSize>0) {
        memcpy(H+20,salt,saltSize);   //append salt to hashed passwd
        base64Val = BTOA_DataToAscii(H,digestLen+saltSize);   //base64.h
    } else {
        base64Val = BTOA_DataToAscii(H,digestLen);   //base64.h
    }

    hashed.append(SSHA_TAG );
    hashed.append(base64Val);

    if (base64Val)
        PORT_Free(base64Val);
    base64Val = NULL;
    FREE(pwdAndSalt);
    return;
}
开发者ID:OldsSourcesBackups,项目名称:Heliod-Web-Server,代码行数:60,代码来源:FileRealmUser.cpp


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