最近由于项目需要做一个url传参,并在页面显示参数内容的需求,这样就会遇到一个url地址可能会被假冒, 并传递非法内容显示在页面的尴尬情况 比如xxx.shtml?server=xxx是坏人&name=xxxoo 这个url被人篡改胡乱发出去,追究责任还是要追究到网站负责人的. 于是想起来用加密url参数的方法,最先想到的是用base64加密参数,但是这样有点钱的知识的人,在js里面看 到如何解密,就知道怎么加密了,url还是能胡乱伪造后来仔细思量加密,非对称加密,一闪而过,在网上找了 一下相关…
(以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 void readPriKey(string &a){ a =  "-----BEGIN RSA PRIVATE KEY-----\n"; a.append("MIICXQIBAAKBgQDTFPiHkUX279j7OnK2ToLrwD/QI9N/fL/XoMnW1sBYJdS…
ios 使用public_key.der加密 php 使用 private_key.pem解密 openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem phrase: countryName : CNStateName:ZhejiangCityName: organizationName: organizational Unit Name: CommonNam…
加密技术可以分为对称与非对称两种. 对称加密,解密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,AES等 而非对称技术,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA等 为什么要有非对称加密,解密技术呢 假设这样一种场景A要发送一段消息给B,但是又不想以明文发送,所以就需要对消息进行加密.如果采用对称加密技术,那么加密与解密用的是同一把秘钥.除非B事先就知道A的秘钥,并且保存好.这样才可以解密A发来的消息. 由于对称技术只有一把秘钥,所以秘钥的管理是一个很麻烦的问题.而非…
先熟悉使用 在后台使用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…
对称加密:双方采用同样的秘钥进行加密和解密.特点是速度快,但是安全性没有非对称加密高 非对称加密:接收方生成的公有秘钥公布给发送方,发送方使用该公有秘钥加密之后,发送给接收方,然后接收方使用私有秘钥解密 如果接收方需要返回消息给发送方,同样也可以接受发送方生成的公有秘钥,使用它加密后发送给发送方. (对称加密和非对称加密都是可逆加密,像SHA,MD4,MD5都是不可逆加密,通常用来检验数据在传输的过程中是否被修改) AES,RSA加密及解密代码如下: import java.security.K…
任务需求:要求登陆时将密码加密之后再进行传输到后端. 经过半天查询摸索折腾,于是有了如下成果: 加密方式:RSA非对称加密.实现方式:公钥加密,私钥解密.研究进度:javascript与java端皆已实现.个人方案:定时器,每天凌晨四五点跑,更换公钥私钥.前端页面进入登录页,则请求后端获取公钥,当用户输入完登录表单点击提交时,将公钥与密码进行加密后传输.如果后端解密失败,则返回指定状态码给前端,前端拿到此状态码,则再次请求后端,重新获取公钥. 因为里面蕴含了三个演示  生成公私钥.前端加密.后端…
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)乙方使用同一种规则,对信…
原文 加密基础方法类 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非对称加密? 使用一对秘钥,使用公钥加密,私钥解密. RSA非对称加密 一对秘钥的生成 PHP中常用的非对称加密(即,公钥加密)的只要方式是rsa算法,需要通过原生的openssl_public_encrypt加密,openssl_private_decrypt解密…