Openssl库
来源:互联网 发布:flux软件怎么用 编辑:程序博客网 时间:2024/06/05 18:08
RSA_new
创建RSA对象
RSA_public_encrypt
用公钥解密
RSA_private_decrypt
用私钥加密
示例
RSA* rsa; int bits = 1024; BIGNUM *big_num; unsigned char *input_string, *encrypt_string, *decrypt_string; input_string = (unsigned char*)"123456"; rsa = RSA_new(); big_num = BN_new(); BN_set_word(big_num, RSA_3); if(RSA_generate_key_ex(rsa, bits, big_num, NULL) != 1){ printf("函数RSA_generate_key_ex返回失败"); return 1; } encrypt_string = (unsigned char*)calloc(RSA_size(rsa), sizeof(unsigned char)); int encrypt_size = RSA_public_encrypt(strlen((char*)input_string), input_string, encrypt_string, rsa, RSA_PKCS1_OAEP_PADDING); decrypt_string = (unsigned char*)calloc(RSA_size(rsa), sizeof(unsigned char)); int decrypt_size = RSA_private_decrypt(encrypt_size, encrypt_string, decrypt_string, rsa, RSA_PKCS1_OAEP_PADDING); printf("encrypted string = "); for (int i=0; i < encrypt_size; ++i) { printf("%x%x", (encrypt_string[i] >> 4) & 0xf, encrypt_string[i] & 0xf); } printf("\n"); printf("decrypted string = %s\n", decrypt_string); RSA_free(rsa); free(encrypt_string); free(decrypt_string); return 0;
0 0
- openssl 库
- Openssl库
- openssl库中的BIGNUM
- openssl库中的BIGNUM
- 使用openssl MD5库
- openssl调用静态库
- openssl开发安装库
- OpenSSL库概述
- iOS 使用OpenSSL库
- Android编译openssl库
- OpenSSL
- OpenSSL
- OpenSSL
- OpenSSL
- OpenSSL
- Openssl
- openssl
- openssl
- Android软件版本号
- win7命令行 端口占用 查询进程号 杀进程
- linux 上安装memcache
- bzoj2748/HAOI2012题解(动态规划)
- struts学习(五)—ognl和值栈
- Openssl库
- Java 中的进程与线程
- 学习计算机图形学
- android 常用混淆
- Android View的事件分发
- 深度优先搜索(DFS)
- TCP/IP网络编程_Helloworld
- 【自定义之前】自定义之前:onTouchEvent
- 同一进程中的线程究竟共享哪些资源