之前找到一个C语言的RSA加解密的源码,但使用后发现只是简单的密钥,用于演示原理还行,实际使用不了。

后来尝试移植openssl到MTK功能机上,由于是功能机,移植了二两天,结果还是失败;如果是linux平台的话,移植就极为方便,或者根本不用移植都有现成的使用。

后来反复搜索,还是在码云上找了一个很好用的,完全可以用于实际开发中来,支持1024到2048位加密。

至于移植更是很方便,完全是纯C语言写的,作者的代码质量和代码风格也是极好。

测试( 在Linux下):# 编译

mkdir build ; make

# 运行

cd build ; ./test

结果:hello world!

PK[512]:

modulus: BDC37D090AFAEBE319C963E4AD5B23296E58D01F01433994CB6D0D94BECC29417C8991C1C42C5F841E8219ED91C747805BCB74BCF96FEF05DA71C05C42B677D9

exponent: 010001

SK[512]:

modulus: BDC37D090AFAEBE319C963E4AD5B23296E58D01F01433994CB6D0D94BECC29417C8991C1C42C5F841E8219ED91C747805BCB74BCF96FEF05DA71C05C42B677D9

public_exponet: 010001

exponent: 431CC239D2824FAEAFCE03E03A57432641FA7310A417AC63AD5652394B09558550E80E065054EB005D00C3BCF785D9AAF44472136E70F253E8E6FE897C6A0EA1

prime1: F32F1C767BF000635E7DA9E78530788163F0DAB32A38521B0B9C3CE840D8A8A5

prime2: C7C3A982B3AAE511278FF8ACBF712D226107D68B4028A64BC4E23304BADA3825

primeExponent1: DF2953785381CA096653F14FF9C4A24132E27AFFC175CFBAEBEBA3650AE507D5

primeExponent2: 4E923DED039FF7031D4D7A60EFD7A309FFA2269794BFA850EAFA91588DE9E0E5

coefficient: 81D9A2B2F81AF77C43F687DDF882FBD1DC9538D1C1C81DF7B3CF83F35F9C383D

MSG[4]: 74657374

PK ENC[64]: 96CCC265E688FAF4E0F8BDD73ADE87A1C575A368CC7490866EFBCDF8AA92D49B896497694AA4373DA3BB3F515ABD301AF04C8FFAA2AD7047249CA51B3AD77453

SK DEC[4]: 74657374

DEC: test

SK ENC[64]: B75CB224F979F7879CBD0015ED3D27F6E82E577AF3AF35F34AEE6B85610A2312763729C7EF56C938A754386E3058C429719F7EC75863E5F6671FFFA9A4680B77

PK DEC[4]: 74657374

DEC: test

0.070000 seconds

PK[2048]:

modulus: B89B637F33EEAD06189FF15D9DC7B8E9AD4D37251F30A4BE3DC712E96A84BCAB366DE8123E12DD0DC3711E0E2ABD5773D4D7CD48A064F9580748DA4980A89360AE74A26D9678664AD5A041AAA13C1071D32E898E0AACF0041674ADBF7F50B71C9D849D7CDCAB03ACD768B6598C1548BA07A79089A976E278B5E619E3C5CDC0A1292224D542B9E35DF762008B7956BF3FE3762E67EBC376F8AD741E9393B52F913791E2D2904AB0EF25787C9A06D6D1C34C492AF7128016620BD4A2969F1E39FA29A2D91A0E0D64538229188A5957B0EDADF08E175A9CB6A0C796C84D1E71B21C6CF095FCE6C7904904F201A78AC44AD495FF156BA03420FE86BB70CCACA9C1A7

exponent: 010001

SK[2048]:

modulus: B89B637F33EEAD06189FF15D9DC7B8E9AD4D37251F30A4BE3DC712E96A84BCAB366DE8123E12DD0DC3711E0E2ABD5773D4D7CD48A064F9580748DA4980A89360AE74A26D9678664AD5A041AAA13C1071D32E898E0AACF0041674ADBF7F50B71C9D849D7CDCAB03ACD768B6598C1548BA07A79089A976E278B5E619E3C5CDC0A1292224D542B9E35DF762008B7956BF3FE3762E67EBC376F8AD741E9393B52F913791E2D2904AB0EF25787C9A06D6D1C34C492AF7128016620BD4A2969F1E39FA29A2D91A0E0D64538229188A5957B0EDADF08E175A9CB6A0C796C84D1E71B21C6CF095FCE6C7904904F201A78AC44AD495FF156BA03420FE86BB70CCACA9C1A7

public_exponet: 010001

exponent: B6965A4E91DADB9F4FF3C212C9DFA470DB4BA7E33B7A2D374C7AFDA5880949623E2F6E7DBC8F83BBFD3680779AA6333D09A3781301315DBD4757332FC7E4F3FF880D2C2A1FCD6DBF4E9376DF81219B523981A9E3A7836CD15E3481350A8396D8E2A32BF137809DDDF2204B5B3E463EEC606DC773A0FD48FA034F570405BC7F6C373D958A063A91611FB506FA063F03D387C6C4B5C4B399E0188B313D0059E8F9A23553484650BBE056D7DF92E6956709D2E5F8DFA6AC99C6288910C4AF0B3FD3E43C85E513378CF7B3AFC0C62D18D268E11F6A23E258CE266779641269AA9D529EBF57DBDDDD04FBC6B1FE08014D6B871827F139941ACFEBE6FE07C3FB847AA1

prime1: ED890BDCBE52DC0D319C3F329939F38E565DCBD14B7A3BF8A76578E9AE25339C0B52EF4C97DCBF9241DC40F68271098EFB349FE713422967F0EE011A434AF3EE8777F7F0DE940593AC59AD69172C011C0F1A28D933E1E59480AEB5B95EF96E6007A68452122009207E8DF519DA53F202BFF4B50CC32108FF2E24D107701DC90B

prime2: C6F5116BCB0C052B13404D6991941B51B56EE8177B4452B29B1C3DE78045C715C02DBDE664833AB4F32F9557A20046AED5CFFB88F1F88E8323DC77C1E6833B4E7500237D190E0A609ACEF156B1C0C547F23F63A25A7EE9000F1C38E317A5DC45C97C57AB688C481B61F45F7BA29C3EC474EFC08645F8146A9DB1F98235CCA355

primeExponent1: 3E02BA130DA8AA03D3C0BB8AE50F88F2CEBF3BD74EC20167FFA370F6685D13E517DBB5D7240A2004F9A69B5AFF60AD232397706B2DCEE6EA58AE79A1369219AE5AB54A081AC33FD576780EDA518F4E56D9E6756586B2E1716C4AAFEC4DCC063191ADB9FB86F9D00828A1BCABDC20701CA1AA2B9DC24F1C7F29B7B8CE1D49D953

primeExponent2: C509E653F4069683BF901A5AA8039F3EBFC9F3EF757407D6BD092E41BC66DEB12ADFE2476F5A0BE53346F7C78F3868C83416C3CD2F9EF33CEB6227F48F9F7E37C865F7BFA7F5A0CF65E1F75FDDB0C570E87860EB646675C94A2DB0252FC162B276C63F6911A484B121C4CC5F7C7EF326CB8CBA0600FB9CF4ADF299E19BF86BF5

coefficient: CCC6BAE9802880C6C6759A60B5400C38B56F53CDAD25133A558FE317766FF1C3483A5E6307ACD0C4B4BE8B4E3300973B404C80461E9685342775D1E518E011F404DD7DAD62F0FEFCD201311E223FECBD2D46D9C359D24C34F294B94C6E338861300F77504562B13E73F0A2EEA93BFEE42EC99AF3FC634242DFB5783371612B66

DEC[32]: 4538453339353131344532343642323145443730453035463138324632413831

DEC: E8E395114E246B21ED70E05F182F2A81

0.080000 seconds

DEC[32]: 4538453339353131344532343642323145443730453035463138324632413831

DEC: E8E395114E246B21ED70E05F182F2A81

0.080000 seconds

c语言1e05,RSA加密、解密的纯C语言版本相关推荐

  1. pycrypto 和 lua-resty-rsa 进行跨语言的RSA加密解密.md

    最近需要在 OpenResty(Nginx lua) 和 Python 中做RSA的加密和解密操作,客户端是Python的使用 pycrypto 库,而服务端使用 OpenResty 来做解密,使用了 ...

  2. MacOS下使用C语言基于openssl库进行RSA加密解密

    MacOS下使用C语言基于openssl库进行RSA加密解密 1 安装openssl并生成密钥 首先当然要安装openssl(这里记得看一下安装路径,应该是/usr/local/Cellar/open ...

  3. rsa加解密算法报告c语言,RSA加密解密算法c语言程序Word版

    <RSA加密解密算法c语言程序Word版>由会员分享,可在线阅读,更多相关<RSA加密解密算法c语言程序Word版(5页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版 ...

  4. GO语言实现RSA 加密和解密的实现

    RSA 加密和解密的实现 openssl生成私钥 openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥 openssl rsa -in rs ...

  5. ios php rsa加密解密,php rsa加密解密使用详解

    第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem 从上面看出通 ...

  6. [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)

    常用技巧 如何编写一个二进制规律性的文件, 比如你可以编写一个"0123456789abcdef"的文本文件,记得删除换行符然后用ultraedit打开,ctrl+H就可以看到二进 ...

  7. php rsa加密实例,关于PHP语言的RSA加密实例讲解

    本文主要向大家介绍了关于PHP语言的RSA加密实例讲解,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 这几天做了一些接口的对接需要用到RSA加密,百度一番发现原来有个openssl_p ...

  8. RSA加密解密算法的java实现

    最近有一个外部合作项目要求在数据传输过程中使用RSA加密算法对数据进行加密,所以需要编写一个加解密的工具类,因为对方不是java语言,所以是各自实现的这个工具,本文主要讨论实现以及双方调试过程中的一些 ...

  9. IOS之RSA加密解密与后台之间的双向加密详解

    IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家. 这次先上代码,我想大部分人肯定是着急解决问题,所以不要废 ...

最新文章

  1. _id 和 ObjectId
  2. 整数的二进制表达中有多少个1
  3. html 手机a标签点不动,htmlunit单击javascript a标签不起作用
  4. Vs2010删除空白行
  5. Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986
  6. mysql 同步 有log_MySQL之主从同步
  7. springboot 请求路径有后缀_SpringBoot中配置Web静态资源路径的方法
  8. Android P功能
  9. 「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解
  10. 超微 X9DRL-iF 服务器主板简介 BIOS相关图解
  11. Mysql-DML操作
  12. java企业级开发规范_“华为云企业级Java编程规范”学习笔记
  13. 猿题库高中同步微博运营策划
  14. 1g等于多少mb计算机网络,1KB等于多少MB?1G等于多少MB?等于多少kb呢?
  15. 蚂蚁金服杨军:蚂蚁数据分析平台的演进及数据分析方法的应用
  16. Android点九图(.9.png)的特点和制
  17. SAP—IDoc操作步骤
  18. 腾讯云你的凭证不工作
  19. Unsupervised Question Answering by Cloze Translation
  20. Python批量压缩图片

热门文章

  1. 怎么在LinkedIn领英安全添加到3万个好友?
  2. 数据结构——二叉树总结
  3. 切换Git(Gitee)账号
  4. html立体魔方图片制作,各种三D立体魔方相册制作代码
  5. MVP模式请求网络数据
  6. 这就是为什么选择C语言不用python的原因
  7. 计算机与艺术联姻阶段,数字媒体艺术概论第二次作业
  8. LVI-SAM imageProjection.cpp 代码阅读 附录
  9. 二进制文件方式安装k8s 1.21
  10. 诚迈科技发布OpenHarmony发行版鸿诚志远HongZOS