今天使用openssl 库中的rsa算法遇到一个诡异的问题,首先我通过rsa算法生成密钥对,然后使用私钥对一段数据进行加密运算。但是很奇怪我每次执行这个加密算法每次的结果不一样。然后上网查了下相关问题,有人说rsa算法就是应该每次结果不一致的。但我很不同意这样的结果。举例 :密钥 A,数据S,加密结果 D。  rsa(A,S)->D, 这个公式,输入参数都没有变结果就应该不会变。程序的输出是确定的。后面经过仔细检查发现是RSA_private_encrypt函数第一个参数传入的不对。

RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding);

    flen: 要加密信息长度

    from: 要加密信息
    to: 加密后的信息
    padding: 采取的加密方案, 分为: RSA_PKCS1_PADDING, RSA_PKCS1_OAEP_PADDING, RSA_SSLV23_PADDING, RSA_NO_PADDING
flen:是要加密数据的长度,不是密钥长度,网上有很多例子写成了密钥的长度。注,有时候这个值给的不是加密数据长度可能导致加密失败

具体实例:可以参考http://download.csdn.net/download/yuzuyi2006/9989467

Rsa 非对称加密算法使用问题分享--使用通过密钥对同一段数据加密得到结果每次不一样相关推荐

  1. python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  2. java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  3. Java 实现 RSA 非对称加密算法-加解密和签名验签

    1. 非对称加密算法简介 非对称加密算法又称现代加密算法,是计算机通信安全的基石,保证了加密数据不会被破解.与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(pr ...

  4. .NET Core加解密实战系列之——RSA非对称加密算法

    简介 加解密现状,编写此项目的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java) 网上资料版本不一.不全面 .NET官方库密码算法提供不全面,很难针对其 ...

  5. RSA 非对称加密算法简述

    RSA概述 首先看这个加密算法的命名.很有意思,它其实是三个人的名字.早在1977年由麻省理工学院的三位数学家Rivest.Shamir 和 Adleman一起提出了这个加密算法,并且用他们三个人姓氏 ...

  6. 加密授权验证学习之五——RSA非对称加密算法将机器码加密为注册码

    RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用.我们这里使用RSA加密算法,主要用到openssl库,openssl是可以很方便加密解密的库,可以使用它来对需要在网络中 ...

  7. RSA - 非对称加密算法简要介绍与JAVA实现

    [1]RSA简介 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年 ...

  8. Thinkphp 6 使用RSA非对称加密算法 对接口加密解密

    后台接口中 经常使用到加密算法 如何使用RSA 非对称加密 对数据进行加密传输 下载RSA 加密算法 php-Rsa算法下载 将下载好的RSA 算法 放入 到 TP6项目根目录下 extend 拓展目 ...

  9. RSA 非对称加密算法详细介绍

    背景 RSA 算法大家肯定都听说过了,它是一种常见的非对称加密算法,常用来对一些在网络上传输的敏感信息进行加密. 但具体流程不知道大家清楚不?本文将概述 RSA 算法的流程,并用一个简单示例进行阐述, ...

最新文章

  1. PVUVIP之间的区别和联系
  2. pod进阶(资源管理和探针)
  3. lisp 绘制立体感的五角星_[原创]圆内加五角星lsp代码,详细有注解
  4. 第46讲:遇到动态页面怎么办?详解渲染页面爬取
  5. 第1篇:Flowable快速工作流脚手架Jsite_克隆项目
  6. Spark Yarn Client模式双网卡-多hostname导致问题(阿里云)
  7. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——L题 建立火车站
  8. git stash后怎么恢复_苹果换卡后怎么恢复通讯录?两种方法帮你解决
  9. XmlSerializer对象
  10. Linux学习笔记之 Btrfs文件系统简介及使用
  11. Spring Cloud Security OAuth2授权模式和资源服务器
  12. 【Excel 操作】二维表转一维表的两种方法
  13. [2018.11.05 T1] 喝牛奶
  14. 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】
  15. Modelica示例——比较器电路
  16. Win7系统安装Pycharm专业版
  17. 评价RA滑膜炎的综合评分系统的计量学特点: 来自一项随机、前瞻、多中心研究的结果...
  18. 点击菜单更改菜单栏背景图片
  19. 利用 a 标签 实现 下载图片(不是打开)的正确姿势
  20. 数据结构课程设计(魔王语言(c语言)的简单代码)

热门文章

  1. anaconda安装、部署、卸载——Mac
  2. 【CSS3】---- 纯 css 控制 html5旋转音乐图标,控制背景音乐
  3. 管理学中的 Expectancy Theory - 期望理论
  4. 数据分析师对年龄有限制吗?现在转行还来得及吗?
  5. 基于深度学习的手势识别系统(Python代码,UI界面版)
  6. 数学不好 学软件测试能学会吗,英语差、数学烂,我还能学好编程吗?
  7. SWT已经日薄西山(转载)
  8. 面向对象:编程范式、类、对象
  9. 计算机音乐锦鲤抄,锦鲤抄 MIDI File Download :: MidiShow
  10. 国米w ndows错误,争议缠身的超级巨星,23岁爽约尤文,28岁激怒巴萨,35岁逼宫国米...