http://blog.csdn.net/21aspnet/article/details/7249401#

  http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html

  http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html

  三篇文章写得都非常好。

  第一篇已经可以非常清楚细致的了解大概的在软件中应用加密和解密的过程或者说含义。

  第二篇和第三篇可以非常详细的了解学习了RSA加密解密的具体过程,里面也设计到了很多高数的东西。数学底子好的可以深入了解一下。或者我再总结一下。

  就是,有两个很大的质数相乘得到了一个很长的数。比如ABCDEFG七个字母是秘钥,我给你AB(CER文件)告诉你用这个加密,那么BC就是我的公钥,任何人都可以用这个东西加密,加密完之后发送给我,那么我的秘钥是根据RSA算出来的,也就是说只要你的加密过程没问题,那么我就可以用我的CDEFG私钥(pfx文件)来解密,解密完之后就是你要发给我的文件。如果解密失败了,那就是公钥或者私钥没对上,出了问题。

  一句话就是,我有一把锁(公钥)一把钥匙(私钥),你把数据放到锁(公钥)里面传给我,我就用我的钥匙(私钥)来打开,再给我数据就好了。

  但是有一点需要注意的是字面意思的理解,公钥和私钥是相对来说的,公钥就是大家都可以有的,私钥只有我能有。

  不论公钥还是私钥都是一方提供的。

  

RSA 加密 解密 公钥 私钥 签名 加签 验签的更多相关文章

  1. Cryptopp iOS 使用 RSA加密解密和签名验证签名

    Cryptopp 是一个c++写的功能完善的密码学工具,类似于openssl 官网:https://www.cryptopp.com 以下主要演示Cryptopp 在iOS上的RSA加密解密签名与验证 ...

  2. openssl 非对称加密 RSA 加密解密以及签名验证签名

    1. 简介 openssl  rsa.h 提供了密码学中公钥加密体系的一些接口, 本文主要讨论利用rsa.h接口开发以下功能 公钥私钥的生成 公钥加密,私钥解密 私钥加密,公钥解密 签名:私钥签名 验 ...

  3. Python rsa公私钥生成 rsa公钥加解密(分段加解密)-私钥加签验签实战

    一般现在的SAAS服务提供现在的sdk或api对接服务都涉及到一个身份验证和数据加密的问题.一般现在普遍的做法就是配置使用非对称加密的方式来解决这个问题,你持有SAAS公司的公钥,SAAS公司持有你的 ...

  4. RSA加密解密及RSA加签验签

    RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解 ...

  5. RSA加密解密与加签验签

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年7月首次在美国公布 ...

  6. C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法

    因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger ...

  7. 银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#

    前段时间做的银联支付,折腾了好久,拼凑的一些代码,有需要的朋友可以参考,本人.Net新手,不保证准确性! 这个银联手机支付没有SDK提供,技术支持也没有.Net的,真心不好搞! RSA加解密,这里有个 ...

  8. RSA加密解密和读取公钥、私钥

    /// <summary>     /// RSA加密解密及RSA签名和验证    /// </summary>     public class RSADE    {    ...

  9. 微信小程序(17)-- RSA加密 解密 加签 验签

    RSA加密 解密 加签 验签 /** * 注:区分RSA私钥的类型,有pkcs1和pkcs8.pkcs8格式的私钥主要用于Java中 pkcs1格式: -----BEGIN RSA PRIVATE K ...

随机推荐

  1. 移动端rem布局(阿里)

    该方案使用相当简单,把下面这段已压缩过的 原生JS(源码已在文章底部更新,2017/5/3) 放到 HTML 的 head 标签中即可(注:不要手动设置viewport,该方案自动帮你设置) < ...

  2. SegmentedControlIOS使用

    代码: import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, SegmentedContr ...

  3. Python3学习之路~3.1 函数基本语法及特性、返回值、参数、局部与全局变量

    1 函数基本语法及特性 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义: d ...

  4. NYOJ 最大和

    #include<iostream> #include<algorithm> #include<string> using namespace std; ][]; ...

  5. Spark SQL读写方法

    一.DataFrame:有列名的RDD 首先,我们知道SparkSQL的目的是用sql语句去操作RDD,和Hive类似.SparkSQL的核心结构是DataFrame,如果我们知道RDD里面的字段,也 ...

  6. IOP开发数据库--20180105整理

    http://10.110.22.12/cloud-web/#/login/tenant 数据库 代理节点  10.110.22.12      数据库  10.110.22.12    dev/ro ...

  7. Lua搜索特殊字符

    local newtext = "." local index1 = string.find(newtext,"%.") 在这里,"."是通 ...

  8. 切换py环境【转载】

    1.转自:https://blog.csdn.net/jasonfqw/article/details/72974187 方法不错的,比较简单. $ alias python='/usr/bin/py ...

  9. 20165321实验一Java开发环境的熟悉-1

  10. OpenResty编译安装

    从下载页 Download下载最新的 OpenResty® 源码包,并且像下面的示例一样将其解压: tar -xzvf openresty-VERSION.tar.gz VERSION 的地方替换成您 ...