rsa

vue中使用Base64和md5和rsa

∥☆過路亽.° 提交于 2020-04-01 05:50:58
https://blog.csdn.net/benben513624/article/details/88113459(copy) https://www.cnblogs.com/myfate/p/10600392.html(copy) 1.在项目根目录下安装 npm install js-base64 --save npm install js- md5 --save npm install jsencrypt --save 2.在项目文件中引入 import {Base64} from 'js-base64'; import md5 from 'js-md5'; import RSA from 'jsencrypt'; 3.在项目中文件中引入 Base64: // 编码 Base64.encode( ''); Base64.encodeURI( ''); // 解码 Base64.decode( ''); md5: md5( ''); // d41d8cd98f00b204e9800998ecf8427e md5( 'The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6 md5( 'The quick brown fox jumps over the lazy dog

.Net Core下使用 RSA

笑着哭i 提交于 2020-03-30 14:01:10
.Net Core 下,以前的RSA加密解密的API有较大的改变,这里记录下 使用过程中的一些区别. 要进行.Net Core下的RSA相关操作, 要用到以下几个包: <ItemGroup> <PackageReferenceInclude="System.Security.Cryptography.Csp"Version="4.3.0"/> <PackageReferenceInclude="System.Security.Cryptography.Algorithms"Version="4.3.0"/> </ItemGroup> RSACryptoServiceProvider 在Windows 环境下依然可以使用 RSACryptoServiceProvider , 但在Linux 环境下编译不过. 参考 dudu 的文章 .net core中使用openssl的公钥私钥进行加解密 FromXmlString 方法和 ToXmlString 由于不在使用 RSACryptoServiceProvider 这两个方法不在提供,我们可以通过扩展方法来添加这两个方法,以处理C#生成的密钥.    相关代码: using System; using System.Collections.Generic; using System.IO; using System.Security

C++利用openssl进行公钥解密

半世苍凉 提交于 2020-03-28 02:47:44
私钥加密的部分内容,需要用公钥解密下面的实例代码,由于私钥加密后的字符串有不可打印字符,所以程序里面进行了base64,要用的时候先解dec base64 再传递给函数 进行解密 #include <stdio.h> #include <stdlib.h> #ifdef WIN32 #include <windows.h> #endif #include "openssl/rsa.h" #include "openssl/pem.h" #include "Base64.h" #ifdef WIN32 #pragma comment(lib,"User32.lib") #pragma comment(lib,"Advapi32.lib") #pragma comment(lib,"Gdi32.lib") #pragma comment(lib,"libeay32.lib") #pragma comment(lib,"ssleay32.lib") #endif // 私钥解密 std::string rsa_pri_decrypt(const std::string &cipherText, const std::string &priKey) { std::string strRet; RSA *rsa = RSA_new(); BIO *keybio; keybio = BIO

关于RSA加密算法的长度限制问题

懵懂的女人 提交于 2020-03-28 02:46:01
RSA是常用的非对称加密算法。近来有学生在项目中使用System.Security类库中的RSA加密算法时,出现了“不正确的长度”,这实际上是因为待加密的数据超长所致。.net Framework中提供的RSA算法规定,每次加密的字节数,不能超过密钥的长度值减去11,而每次加密得到的密文长度,却恰恰是密钥的长度。所以,如果要加密较长的数据,可以采用数据截取的方法,分段加密,实现如下: RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); byte[] data = ........; //要加密的数据 string publicKey = .... ; //获取公钥 rsa.FromXmlString(publicKey); int keySize = rsa.KeySize / 8; int bufferSize = keySize - 11; byte[] buffer = new byte[bufferSize]; MemoryStream msInput = new MemoryStream(data); MemoryStream msOuput = new MemoryStream(); int readLen = msInput.Read(buffer, 0, bufferSize); while

RSA加密算法

匆匆过客 提交于 2020-03-28 02:39:20
RSA加密算法(Java实现) 注: 本博客并非原创,参考 https://leanote.zzzmh.cn/blog/post/5d1c661416199b0683002dc8 之前在公司实习的时候,进行前后端数据交互,采用明文传输的方式显然不够安全,综合网上的资料选择了 RSA 这种非对称加密算法,也是时下应用最广泛的加密算法之一,这里主要做一个记录,代码主要参考上面那篇博客的,特此感谢。 RSA加密算法 RSA非对称加密算法,加密和解密需使用不同的密钥,这在一定程度上就加大了破解的难度,公钥放在前端进行数据加密,服务端收到密文再利用密钥进行解密。 RSA的安全性依赖于大数的因子分解,这本身在数学中就是一大难题,一般密钥长度为 1024 位已经极难破解了,下面附上一张百度百科的照片。 这里只做一下简单的记录,以后有时间还需要好好研究研究。 代码实现 import java.util.Base64; import javax.crypto.Cipher; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java

C# Java间进行RSA加密解密交互

狂风中的少年 提交于 2020-03-28 02:31:10
引用:http://blog.csdn.net/dslinmy/article/details/37362661 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益,但没能解决我的实际问题,终于,还是被我捣鼓出来了。 首先,介绍一下写这代码的目的:完成webService验证问题,服务器端采用C#开发,客户端采用Java开发。服务器端给客户端提供公钥,已进行数据加密,客户端加密后提数据提交给服务器,服务器用私钥对数据解密,进行验证。 这里遇到的主要问题是C# RSACryptoServiceProvider类产生的公钥、私钥都是xml字符串数据,而java RSA算法要求的 Modulus、Exponent都是BigInteger类型,两者间的转换才是问题所在。 关于Java 和 C#各自独立的进行RSA加密解密,大家可以看整两篇文章, java RSA加密解密实现() 和 C#中RSA 加密解密和签名与验证的实现 。 接下来讲一下实现步骤: 首先由C# RSACryptoServiceProvider类生成公钥、私钥 /// <summary> /// 生成公钥、私钥 /// </summary> /// <returns>公钥、私钥,公钥键"PUBLIC",私钥键"PRIVATE"</returns> public

对称加密DES和非对称加密RSA的实现

被刻印的时光 ゝ 提交于 2020-03-28 02:24:03
Shared strKey As String = "12345678" Shared strIV As String = "12345678" Private Shared Key() As Byte = Encoding.UTF8.GetBytes(strKey.Substring(0, 8)) Private Shared IV() As Byte = Encoding.UTF8.GetBytes(strIV.Substring(0, 8)) ‘Key = New Byte() {11, 12, 13, 14, 15, 16, 17, 18} ‘IV = New Byte() {11, 12, 13, 14, 15, 16, 17, 18} Public Shared Function Encrypt(ByVal strText) As String Try Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes(strText) Dim des As DESCryptoServiceProvider = New DESCryptoServiceProvider Dim ms As New MemoryStream Dim cs As New CryptoStream(ms, des.CreateEncryptor(Key,

Centos7部署open*** (tun)

为君一笑 提交于 2020-03-26 22:52:38
添加EPEL源 yum install epel-release -y 替换阿里的源 sed -e 's,^#baseurl,baseurl,g' \ -e 's,^metalink,#metalink,g' \ -e 's,^mirrorlist=,#mirrorlist=,g' \ -e 's,http://download.fedoraproject.org/pub,https://mirrors.aliyun.com,g' \ -i /etc/yum.repos.d/epel.repo 更新软件 yum makecache yum update -y 修改sysctl参数 cat > /etc/sysctl.d/99-net.conf <<EOF # 二层的网桥在转发包时也会被iptables的FORWARD规则所过滤 net.bridge.bridge-nf-call-arptables=1 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 # 关闭严格校验数据包的反向路径,默认值1 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 # 设置 conntrack 的上限 net.netfilter

Tomcat9配置https链接

谁都会走 提交于 2020-03-23 14:51:56
Tomcat版本:apache-tomcat-9.0.27 jdk版本:1.8.0_212 浏览器:火狐 1. 生成证书 https协议需要证书,开发时我们可以使用jdk自带的keytool工具生成一个证书来进行测试; 首先确保本地有jdk的环境,可以使用java -version来查看,然后运行以下代码,姓氏名称什么的随便填写即可. keytool -genkeypair -alias testKey -keyalg RSA -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -keystore ./testKey.jks <!-- -alias testKey:证书项的名字,必填项 -keyalg RSA:证书签名算法,tomcat建议RSA -storepass 123456:密钥库密码,也就是等下要生成的test.keystore的访问密码,妥善保管 -validity 3650:证书有效期,3650天,即10年 -keystore ./testKey.jks:要生成的文件的位置,./test.keystore表示存储在当前目录下 --> 然后我们可以看到有提示信息,运行提示信息里面的代码 keytool -importkeystore -srckeystore ./testKey.jks