quote: http://www.cnblogs.com/happinessCodes/archive/2010/07/27/1786404.html   一说到数据的加密,常常会涉及到这几个单词:算法.原文.密文和密钥.通常,发送者把原文通过一个加密的算法,用密钥进行加密后将密文发送给接收者,然后接收者再用密钥对密文进行解密,得到原文.由于常用的加密算法都是公开的,所以,对原文的加密的关键,就是密钥了.对于这种加解密都使用同样的密钥的算法,我们称之为对称加密,对称加密的代表算法就是DES家族…
1,非对称加密RSA: (1)乙方生成两把密钥(公钥和私钥).公钥是公开的,任何人都可以获得,私钥则是保密的. (2)甲方获取乙方的公钥,然后用它对信息加密. (3)乙方得到加密后的信息,用私钥解密. 2,使用CryptoPP实现RSA: CryptoPP是一套非常完整的加密解密开源解决方案,如何使用这里就不多说了,请自行Google. #include "..\cryptopp562\randpool.h" #include "..\cryptopp562\osrng.h&…
      非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey).公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密.因为加密和解密使用的是两个不同的密钥.       非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解.而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,…
踏入程序员这个行业也有几年了,几年中有收获(技术加强),有付出(时间和亚健康状态).当然喏,并不后悔,代码路还长!!! On The Way,永不止步!!! 开发过程中也积累了一些自己的经验.代码块和帮助类,有了这些,确实方便了之后的开发流程,同时也缩小了开发周期,详情看图(一小部分),这些都是最近结合开发常见的方法一行行写出来,并且也用到了相关项目,现在看起来还是有点点的小兴奋! 当然喏,我还是个新人,需要园子里的老人多多指点,尤其是在代码质量和技术方面,您们的指点感激不尽,也是我前进的方向!…
1.对称加密算法 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key). 对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中.对称加密通常使用的是相对较小的密钥, 一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密, 不行的话就再用1解:但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密…
一:非对称加密的由来 RSA公钥加密算法是1977年由Ron Rivest.Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的.RSA取名来自开发他们三者的名字.RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准.RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥.RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作…
加密与解密,这很重要,我们已经可以用pypcap+npcap简单嗅探到网络中的数据包了.而这个工具其实可以嗅探到更多的数据.如果我们和别人之间传输的数据被别人嗅探到,那么信息泄漏,信息被篡改,将给我们造成比较大的困扰.别以为这是什么高深的知识.其实已经深入到我们经常使用的一些网站了.尝试访问一下百度,用标准的浏览器地址‘http://www.baidu.com’.你会发现它自动跳转到了‘https://www.baidu.com’.虽然我要求使用http协议访问,但是百度已经全面支持HTPS加密…
对称加密算法是在加密和解密时使用同一个密钥.与对称加密算法不同,非对称加密算法需要两个密钥--公开密钥(public key)和私有密钥(private key)进行加密和解密.公钥和密钥是一对,如果公开密钥对数据进行加密,只有对应私有密钥才能解密:如果用私有密钥对数据加密,那么只有对应公有密钥才能解密.常用算法:RSA.Elgamal.背包算法.Rabin.ECC等.RSA是最有影响力的公钥加密算法之一.生成公密钥: # 生成私钥 openssl genrsa -out rsa_private…
1. 简介 openssl  rsa.h 提供了密码学中公钥加密体系的一些接口, 本文主要讨论利用rsa.h接口开发以下功能 公钥私钥的生成 公钥加密,私钥解密 私钥加密,公钥解密 签名:私钥签名 验证签名:公钥验签 2. 生成公钥私钥对 主要接口, /* Deprecated version */ DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void (*callback) (int, int, voi…
基本概念 加密的意义 加密的意义在于数据的传输过程中,即使被第三方获取到传输的数据,第三方也不能获取到数据的具体含义. 加密方式分为对称加密和非对称加密 什么是对称加密? 对称加密只使用一个秘钥,加密和解密都使用该秘钥: 什么是RSA非对称加密? 使用一对秘钥,使用公钥加密,私钥解密. RSA非对称加密 一对秘钥的生成 PHP中常用的非对称加密(即,公钥加密)的只要方式是rsa算法,需要通过原生的openssl_public_encrypt加密,openssl_private_decrypt解密…
最近由于项目需要做一个url传参,并在页面显示参数内容的需求,这样就会遇到一个url地址可能会被假冒, 并传递非法内容显示在页面的尴尬情况 比如xxx.shtml?server=xxx是坏人&name=xxxoo 这个url被人篡改胡乱发出去,追究责任还是要追究到网站负责人的. 于是想起来用加密url参数的方法,最先想到的是用base64加密参数,但是这样有点钱的知识的人,在js里面看 到如何解密,就知道怎么加密了,url还是能胡乱伪造后来仔细思量加密,非对称加密,一闪而过,在网上找了 一下相关…
function test1(){ $config = array( "digest_alg" => "sha1", "private_key_bits" => 1024, "private_key_type" => OPENSSL_KEYTYPE_RSA, "encrypt_key" => false ); $res = openssl_pkey_new($config); ope…
OpenSSL进行aes加密解密-对称加密(symmetry) 建立文件test.txt, 特意写入中英文 # cd /tmp # echo "test测试" > test.txt 开始加密, 使用aes-128-cbc算法, 也可以使用其他算法, 通过查看openssl的帮助可获知 # openssl aes-128-cbc -salt -in test.txt -out test.txt.aes enter aes-128-cbc encryption password:&l…
对称加密: 在加密和解密过程中使用相同的密钥, 或是两个可以简单地相互推算的密钥的加密算法. 非对称加密: 也称为公开加密, 它需要一个密钥对, 一个是公钥, 一个是私钥, 一个负责加密, 一个负责解密. 对称加密在性能上要优于非对称加密, 但是安全性低于非对称加密. PHP 7.1 之后的对称加密和非对称加密都需要借助 openssl 扩展实现. mcrypt 库已经被移除. 对称加密函数 openssl_get_cipher_methods() : 返回 openssl 支持的所有加密方式.…
转载. https://blog.csdn.net/SSY_1992/article/details/79094556 任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要.在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障. 本节只讲原理和应用,具体的代码请到这里下载,都是封装好的工具类,包括终端命令操作.下面介绍常用三种加密. 一.哈希HASH 1.MD5加密 MD5加密的特点: 不可逆运算 对不同的数…
C#.NET中对称和非对称加密.解密方法汇总--亲测可用   在安全性要求比较高的系统中都会涉及到数据的加密.解密..NET为我们封装了常用的加密算法,例如:MD5,DES,RSA等.有可逆加密,也有非可逆加密;有对称加密,也有非对称加密.加密.解密一般会用在软件的注册码,系统密码,通讯中.今天我就来分享,汇总一下C#.NET加密.解密的实现方法. 一.不可逆加密 不可逆加密一般不会涉及到解密.也就是是加密之后的密文不能还原成原来的明文.这种算法一般用于生成自信摘要,确保数据的完整性及防篡改.使…
最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的内容吧 很多对安全要求比较高的应用都要使用加密,加密后与后端沟通数据,这样能防止被别人截获数据包,直接把接口的参数数据暴露.我上一家公司是做P2P互联网金融的,就使用了多种加密方式,有对称的也有非对称的.最近新公司的APP也有意向使用加密,思考了一下,最成熟的解决方案就是使用RSA非对称的加密了.就…
Atitit RSA非对称加密原理与解决方案 1.1. 一.一点历史 1 1.2. 八.加密和解密 2 1.3. 二.基于RSA的消息传递机制  3 1.4. 基于rsa的授权验证机器码 4 1.5. 为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式, 4 1.6. RSA算法是第一个能同时用于加密和数字签名的算法 4 1.1. 一.一点历史 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加密: (2)乙方使用同一种规则,对信…
非对称加密:即两端使用一对不同的密钥进行加密. 在非对称加密中,需要两对密钥,公钥和私钥. 公钥个私钥属于对立关系,一把加密后,只有另一把才可以进行解密. 公钥数据加密 数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥.进行数据传输时,利用对方的公钥进行数据加密.加密后的数据只有对方的私钥才能进行解密. 私钥数字签名 私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成.可以用于消息来源验证.将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解…
使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密. 1.安装openssl和PHP的openssl扩展 2.生成私钥:openssl genrsa 用于生成rsa私钥文件,生成是可以指定私钥长度和密码保护 openssl genrsa -out rsa_private_key.pem 1024 3.生成公钥:rsa命令用于处理RSA密钥.格式转换和打印信息 openssl rsa -in rsa_private_key.pem -pubout -out…
<?php /** * 使用openssl实现非对称加密 * @since 2010-07-08 */ class Rsa { /** * private key */ private $_privKey; /** * public key */ private $_pubKey; /** * the keys saving path */ private $_keyPath; /** * the construtor,the param $path is the keys saving pat…
(以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 void readPriKey(string &a){ a =  "-----BEGIN RSA PRIVATE KEY-----\n"; a.append("MIICXQIBAAKBgQDTFPiHkUX279j7OnK2ToLrwD/QI9N/fL/XoMnW1sBYJdS…
概述 首先了解一下相关概念:RSA算法:1977年由Ron Rivest.Adi Shamirh和LenAdleman发明的.RSA就是取自他们三个人的名字. 算法基于一个数论:将两个大素数相乘很easy,但要对这个乘积的结果进行 因式分解却很困难,因此可以把乘积公开作为公钥.该算法可以抵抗眼下已知的全部password攻击. RSA算法是一种非对称算法,算法须要一对密钥.使用当中一个 加密.须要使用另外一个才干解密.我们在进行RSA加密通讯时.就把公钥放在client,私钥留在server.…
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption…
原文 加密基础方法类 import java.security.MessageDigest; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class SecurityBase { public static final String KEY_SHA="SHA"; public static final String KEY_MD5="MD5"; //BASE64解密 pub…
非对称加密技术,在现在网络中,有非常广泛应用.加密技术更是数字货币的基础. 所谓非对称,就是指该算法需要一对密钥,使用其中一个(公钥)加密,则需要用另一个(私钥)才能解密. 但是对于其原理大部分同学应该都是一知半解,今天就来分析下经典的非对称加密算法 - RSA算法. 通过本文的分析,可以更好的理解非对称加密原理,可以让我们更好的使用非对称加密技术. 题外话: 并博客一直有打算写一系列文章通俗的密码学,昨天给站点上https, 因其中使用了RSA算法,就查了一下,发现现在网上介绍RSA算法的文章…
1 非对称加密算法 1.1 概述 1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是"公开密钥系统". 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey).公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密.因…
先熟悉使用 在后台使用RSA实现秘钥生产,加密,解密; # -*- encoding:utf-8 -*- import base64 from Crypto import Random from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Crypto.PublicKey import RSA # 伪随机数生成器 random_generator = Random.new().read # rsa算法生成实例 rsa = R…
Java加密技术(四)--非对称加密算法RSA 非对称加密算法--RSA 基本概念 非对称加密算法是一种密钥的保密方法. 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey).公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密.因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法. 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并…
任务需求:要求登陆时将密码加密之后再进行传输到后端. 经过半天查询摸索折腾,于是有了如下成果: 加密方式:RSA非对称加密.实现方式:公钥加密,私钥解密.研究进度:javascript与java端皆已实现.个人方案:定时器,每天凌晨四五点跑,更换公钥私钥.前端页面进入登录页,则请求后端获取公钥,当用户输入完登录表单点击提交时,将公钥与密码进行加密后传输.如果后端解密失败,则返回指定状态码给前端,前端拿到此状态码,则再次请求后端,重新获取公钥. 因为里面蕴含了三个演示  生成公私钥.前端加密.后端…