コード例 #1
0
ファイル: main.c プロジェクト: ahmed-masud/libbase32
static int fencode(FILE *in, FILE *out)
{
    off_t pos;
    char *encbuf = NULL;
    size_t buflen;
    size_t count;

    pos = 0;
    while(!feof(in)) {
        char *ptr;
        count = fread(buf, 1, sizeof(buf), in);
        if ( count <= 0 )
            return -1;

        buflen = base32encsize(count);

        ptr = realloc(encbuf, pos+buflen);

        if ( !ptr )
            die(ENOMEM, "Out of memory while requesting realloc");

        encbuf = ptr;

        buflen = base32enc(encbuf+pos, buf, count);

        fwrite(encbuf+pos, 1, buflen, out);
        pos += buflen;
    }

    return 0;
}
コード例 #2
0
ファイル: crypto.cpp プロジェクト: Florz/smartRNS_UDP_updater
vector<string> encrypt (vector<string> clrtxt, string keystr, primenc_et contprimenc, contenc_et contsecenc)
{
    byte primencarr[CIPHERLEN*2+10];
    uint32_t i;
    vector<string> encvec;

    for(i=0;i<clrtxt.size();i++){
        if(NO_CONTENC == contsecenc){
            nodec(primencarr, clrtxt[i]);
        }else if(AES_128 == contsecenc){
            AESencs(primencarr, clrtxt[i], keystr);
        }else{
            cout << "This secondary encoding is not supported yet." << endl;
            throw contsecenc;
        }

        if(NO_PRIMENC == contprimenc){
            encvec.push_back(nocrypt(primencarr));
        }else if(BASE64 == contprimenc){
            encvec.push_back(base64enc(primencarr, CIPHERLEN));
        }else if(BASE32 == contprimenc){
            encvec.push_back(base32enc(primencarr, CIPHERLEN));
        }else if(BASE16 == contprimenc){
            encvec.push_back(base16enc(primencarr, CIPHERLEN));
        }else{
            cout << "This primary encoding is not supported yet." << endl;
            throw contprimenc;
        }

    }
    return encvec;
}