这篇教程C++ DSA_new函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DSA_new函数的典型用法代码示例。如果您正苦于以下问题:C++ DSA_new函数的具体用法?C++ DSA_new怎么用?C++ DSA_new使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DSA_new函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: crypto_sign_keypairint crypto_sign_keypair(unsigned char *pk,unsigned char *sk){ DSA *x; int len; x = DSA_new(); if (!x) return -1; memset(sk,0,SECRETKEY_BYTES); memset(pk,0,PUBLICKEY_BYTES); x->p = BN_new(); if (!x->p) goto error; x->q = BN_new(); if (!x->q) goto error; x->g = BN_new(); if (!x->g) goto error; if (!BN_bin2bn(prime,sizeof prime,x->p)) goto error; if (!BN_bin2bn(prime_q,sizeof prime_q,x->q)) goto error; if (!BN_bin2bn(prime_g,sizeof prime_g,x->g)) goto error; if (!DSA_generate_key(x)) goto error; len = BN_num_bytes(x->pub_key); if (len > PUBLICKEY_BYTES) goto error; BN_bn2bin(x->pub_key,pk + PUBLICKEY_BYTES - len); BN_bn2bin(x->pub_key,sk + PUBLICKEY_BYTES - len); len = BN_num_bytes(x->priv_key); if (len > SECRETKEY_BYTES - PUBLICKEY_BYTES) goto error; BN_bn2bin(x->priv_key,sk + SECRETKEY_BYTES - len); DSA_free(x); return 0;error: DSA_free(x); return -1;}
开发者ID:JacobBarthelmeh,项目名称:supercop,代码行数:35,
示例2: openssl_dsa_cryptvoid openssl_dsa_crypt(){ DSA *d; unsigned int size, len; unsigned char inputs[COMM_LEN] = "dsa crypt"; unsigned char outputs[MAX1_LEN] = { 0 }; printf("/nDSA generate key:/n"); d = DSA_new(); DSA_generate_parameters_ex(d, LINE_LEN, NULL, 0, NULL, NULL, NULL); DSA_generate_key(d); DSA_print_fp(stdout, d, 0); DSA_sign(NID_md5_sha1, inputs, 20, outputs, &len, d); printf("DSA_sign(%s) = ", inputs); for (size = 0; size < len; size++) printf("%.02x", outputs[size]); printf("/n"); DSA_verify(NID_md5_sha1, inputs, 20, outputs, len, d); printf("DSA_verify("); for (size = 0; size < len; size++) printf("%.02x", outputs[size]); printf(") = %s/n", inputs); DSA_free(d);}
开发者ID:beike2020,项目名称:source,代码行数:27,
|