理论上只要有加密的规则 基本都是可以解密的 但是如果解密需要消耗的时间过长 比如1000年 解密过后已经没什么意义了 此时可认为这种算法不能被破解 也就是说此加密可信

MD5 是一种单向操作 加密后不能被还原 只能用于信息校验(相同的输入md5后的字符是相同的<_>)

RSA 私钥 公钥 加密算法 是一种可以还原数据原型的算法  公钥加密的东西  只能用私钥解出来 即使公钥自身也解不出来  同理私钥加密的东西也只有公钥能解密出来  自身也解不出来 。所以二者是对等的 相互依赖的。 但是假如我们把其中一个公布出来(称为公钥),另一个谨慎保存起来不公开(称为私钥), 那么知道公钥的人如果用公钥加密信息发给我们,那么我们就可以用我们的私钥解出来阅读,即使中间有人截取了信息 他也获得了我们的公钥,也无法获知发送发给我们的消息 - 这就是公钥私钥加密的精髓。

https协议正是利用了这一点,访问带https的网站时 会先获得一个此网站的公钥,然后用此公钥与网站通信 即使获取公钥时 公钥被窃取 你发送到服务器的信息也不会被获知,但是服务器发给你的信息可以被知道公钥的人解出来。 安全证书应该是能保证服务器发送的信息只有你自己能解密 ,那只有你保存的是私钥了 你告知服务器你的公钥 这样服务器发送给你的信息 也不会被获知,所以下载安全证书时 里面应该是服务器生成的一个公钥私钥对中的私钥给你  服务器保留公钥用于解密你的信息。 所以 安全证书加https的网页和你通信时候 至少有两对 公钥 私钥 在运转。

PHP RSA GITHUB:https://github.com/china8036/RSA

认知有限 有错误的地方以后理解了 再做修改<_>】

RSA不对称加密和公钥 私钥的更多相关文章

  1. RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密

    RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一 ...

  2. WP8.1 RSA 加解密实例(导入公钥私钥)

    因项目上需要用到,之前在WP8.0的环境上调试通过,现在在开发8.1时发现已不支持原来的加密库,所以无法使用以前的方法,不得已,去寻找windows命名空间下RSA的加解密方法,经过几天的尝试,将解决 ...

  3. JAVA生成RSA非对称型加密的公钥和私钥(利用JAVA API)

    非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密,密文发送到服务器后有服务器端用私钥解密,这样就做到了明文的加密传送. 非对称型加密也有它 ...

  4. RSA 加密 解密 公钥 私钥 签名 加签 验签

    http://blog.csdn.net/21aspnet/article/details/7249401# http://www.ruanyifeng.com/blog/2013/06/rsa_al ...

  5. 支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对

    进入到第一次配置支付宝支付服务了 配置支付宝服务,需要去支付宝的开放平台申请服务 需要设置一些参数 其中需要在后台设置配置RSA(SHA1)密钥(公钥(注意这个子读"yao")) ...

  6. RSA不对称加密

    package sinRsa; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io ...

  7. C#不对称加密

    对称加密的缺点是双方使用相同的密钥和IV进行加密.解密.由于接收方必须知道密钥和IV才能解密数据,因此发送方需要先将密钥和IV传递给接收方.这就 有一个问题,如果攻击者截获了密钥和IV,也就等于知道了 ...

  8. android 对称加密,非对称加密 android 常见的加密

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android 常见的加密 ======== 不可逆加密:md5,sha1 可逆的加密中 ...

  9. WCF安全2-非对称加密

    概述: 数字签名和加密依赖于相应的加密算法 自变量:加密前的数据.密钥 因变量:加密后的数据 加密算法分类:根据加密和解密这两种步骤采用的密钥的是否相同进行分类 相同:对称加密 不相同:非对称加密 非 ...

随机推荐

  1. 探究c++默认初始化

    按照c++ primer 5th第40页的描述,如果定义变量时没有指定初值,则变量被默认初始化,此时变量被赋予了“默认值”. 根据变量定义的位置,分为两种情况: 1.定义于任何函数体之外的变量被初始化 ...

  2. linux drwxr-xr-x 什么意思

    第一位表示文件类型. d:是目录文件, l:是链接文件, -:是普通文件, p:是管道 第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行.(其中r是4,w是2,x是1) 第5-7位表示 ...

  3. 总结open与fopen的区别

    https://www.zybuluo.com/yiltoncent/note/87461 参考链接1 参考链接2 对于这两个名字很类似的函数,对于很多初学者来说,不容易搞清楚它们有什么不同,只知道按 ...

  4. 标准C++中的string

    转自http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 要想使用标准C++中string类,必须要包含 #include & ...

  5. 利用python数据分析panda学习笔记之DataFrame

    2 DataFrame a:通过传入一个等长的列表构成DataFrame 自动加上索引 data={'state':['ohio','ohio','ohio','Nevada','Nevada'], ...

  6. struts2 中的 addActionError 、addFieldError、addActionMessage的方法

    addActionError .addFieldError.addActionMessage都是ActionSupport的方法 一.addActionError("错误内容"): ...

  7. 割点(Tarjan算法)

    本文可转载,转载请注明出处:www.cnblogs.com/collectionne/p/6847240.html .本文未完,如果不在博客园(cnblogs)发现此文章,请访问以上链接查看最新文章. ...

  8. DOM中元素节点、属性节点、文本节点的理解13.3

    节点信息 每个节点都拥有包含着关于节点某些信息的属性.这些属性是:nodeName(节点名称) nodeValue(节点值) nodeType(节点类型) nodeType nodeType 属性可返 ...

  9. lightoj1063【求割点】

    题意不懂啊...... 只知道求割点. #include <bits/stdc++.h> using namespace std; typedef long long LL; typede ...

  10. 如何找出nginx配置文件的所在位置?

    对于一台陌生的服务器或安装太久忘了位置,怎么才能简单快速的找到配置文件的位置呢?要找出配置文件的位置,需要先找出nginx可执行文件的路径 , 这里有几种方法: 1.如果程序在运行中 ps -ef | ...