java和erlang之间的DES加解密】的更多相关文章

app登录,登录的密码要用DES加密,服务器是用erlang,客户端要同时支持多平台(Android.iOS).首先,Java端的DES加密的实现方式, 少说废话了,直接上代码,如下: public class DES { private static byte[] iv = { 1, 2, 3, 4, 5, 6, 7, 8 }; public static String encryptDES(String encryptString, String encryptKey) throws Exc…
Java拓展教程:文件加解密 Java中的加密解密技术 加密技术根据一般可以分为对称加密技术和非对称加密技术.对称加密技术属于传统的加密技术,它的加密和解密的密钥是相同的,它的优点是:运算速度快,加密强度高,可以通过硬件方式来实现,适合大批量数据的加密处理,它的缺点是:加密和解密由于使用相同的密匙,密匙的分发与保密比较困难,目前常用的对称加密技术有DES.3DES和AES加密算法. 非对称加密技术属于现代加密技术,它的加密与解密的密钥是不相同的,一个是私钥,一个是公钥,它的特点是:加密强度比较小…
很简单的一个需求,ipad端给密码RSA加密,传到java后台,解密.RSA加密算法是基于一个密钥对的,分为公钥和私钥,一般情况公钥加密,私钥解密,但也可私钥加密,公钥解密.还可以验签,就是先用私钥对数据进行加密,然后对加密后的数据进行签名,得到一个签名值.然后再用公钥先验签,证明是对应私钥加密过的数据才解密.主要是为了防止来源不确定的数据.     根据上面的介绍,大家也都知道,RSA算法的关键就是密钥对,我和IOS的同事各自找了RSA的算法实现代码,都能正常根据密钥对加解密.问题是我们各自使…
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.Pattern; //import java.util.Hashtable; import javax.crypto.*; import javax.crypto.spec.*; import sun.misc.*; /** * des加密解密 */ pu…
最近我们用Java把一个用.net编写的老系统重新做了翻版,但是登录还是用.net的登录.这样就会遇到一个比较棘手的问题,我们登录用的cookie信息都是.net用des加密的,但我们不得不用Java解密.我在网上找了下很多关于Java DES加解密的信息,大体有两种:一种是有向量的加解密,一种是没有向量只有秘钥的加解密.C#的DES加密是有向量的,所以我必须得用第一种.这时或许你还会遇到一个不是问题的问题:Java DES加解密的向量必须是8位,而C#可能是十六位,但是这是无关紧要的,因为在J…
DES cbc是基于数据块加密的.数据块的长度为8字节64bit.以数据块为单位循环加密,再拼接.每个数据块加密的秘钥一样,IV向量不同.第一个数据快所需的IV向量,需要我们提供,从第二个数据块开始,所需的IV向量为上一个数据块生成的密文. IV向量该怎么赋值, 它跟秘钥KEY有什么关系,这一点,我暂时不清楚,如果您知道,请留言讲一下,非常感谢.我知道的是java里头调用库只传了一个KEY参数,工作经验认知是,java默认IV向量跟秘钥KEY是一样的值. DES加密的填充方式有多种,分别是 an…
最基本的就是经常用的md5加密算法 代码如下 var  MD5=function (data) {        var _encrymd5 = require('crypto').createHash('md5');       var Buffer = require("buffer").Buffer;  //解决中文不一致的BUG     var buf = new Buffer(data);     var str = buf.toString("binary&quo…
  算法解密qt加密table64bit [声明] (1) 本文源码 大部分源码来自:DES算法代码.在此基础上,利用Qt编程进行了改写,实现了DES加解密算法,并添加了文件加解密功能.在此对署名为bengold1979的网友表示感谢!本文是对DES算法代码一文代码的具体描述.该源码仅供学习交流,请勿用于商业目的. (2) 图片及描述 图片及部分解析来自 http://zh.wikipedia.org/wiki/%E8%B3%87%E6%96%99%E5%8A%A0%E5%AF%86%E6%A8…
原文地址:传送门 本文提供了一个能使JavaScript与C#互通的DES加解密算法的实现,在前台页面中用JavaScript版本的DES算法将数据加密之后,传到服务器端,在服务器端可用C#版本的DES解密算法将其解密,得到原始数据,以起到一定的保密作用.但基于算法本身和密钥保密程度方面的考虑,使用本算法加密后的数据,其保密程度不是很高,故请酌情使用. 声明:本文中的JavaScript版的DES加解密算法来自于互联网,但为了方便于转化成C#版本的代码,本人对其进行了细微调整. JavaScri…
一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法.密钥长度是64位(bit),超过位数密钥被忽略.所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符. 跨语言做 DES 加密解密经常会出现问题,往往是填充方式不对.编码不一致或者加密解密模式没有对应上造成.常见的填充模式有: pkcs5.pkcs7.iso10126.ansix9…
我们只知道不同的语言解密要相互通用,就需要遵循相同的加密方式,然而在具体做技术预研的时候,就发现会遇到很多问题,网上找的资料也是比较片面,所以我踩了坑,并且把解决方案和相关资料源码提供出来,给需要的朋友一些参考. 场景:网页客户端(html)页面通过在发起请求时,将数据加密发送给C#编写的后端.C#后端接受到数据后需要进行解密,解密后得到明文,用明文进行业务操作,操作完成后,将结果加密返回. 因为C#后端使用的是DES CBC模式,所以前端JS也要使用相同的方式.否则加密解密结果不以言,就无法互…
本文提供了一个能使JavaScript与C#互通的DES加解密算法的实现,在前台页面中用JavaScript版本的DES算法将数据加密之后,传到服务器端,在服务器端可用C#版本的DES解密算法将其解密,得到原始数据,以起到一定的保密作用.但基于算法本身和密钥保密程度方面的考虑,使用本算法加密后的数据,其保密程度不是很高,故请酌情使用. 声明:本文中的JavaScript版的DES加解密算法来自于互联网,但为了方便于转化成C#版本的代码,本人对其进行了细微调整. JavaScript版本的算法实现…
一.什么是DES加密        des对称加密,对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),是一种对称加密算法. DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种:加密或解密.  DES算法是这样工作的:如Mode为加密,则用…
JavaScript代码    DES.js /** * Created by Andy on 2017/11/30. */ /** * DES加密/解密 * @Copyright Copyright (c) 2006 * @author Guapo * @see DESCore */ /* * encrypt the string to string made up of hex * return the encrypted string */ function strEnc(data,fir…
计算程序执行10万次需要的时间: 总共需要175秒 加解密一次的时间小于:0.00175秒 纯计算加解密的时间会更短 去除IO操作后的时间 也就是说加解密一次的时间为0.07毫秒 /*------------------------------------------------------- Data Encryption Standard 56位密钥加密64位数据 --------------------------------------------------------*/ #incl…
首先说一下平台和语言: 系统平台为CentOS6.3,RSA加解密时使用NOPADDING进行填充 1)使用C/C++调用系统自带的openssl 2)Android4.2模拟器,第三方openssl(android-external-openssl-master),使用ndk编译静态库,然后使用C/C++进行调用 3)使用Java自身的类库(javax.crypto和java.security) 在linux下,使用如下命令,生成RSA加解密时使用的public和private的key ope…
对于加解密,需客户端和服务器制定好对应的规则(如:加密算法(aes,des等).加密模式(cbc,cfb)),去加密,再按逆序列解密.这里的key是根据数字.大小写字母.符合组合的,每次请求获取一个动态key,暂且叫做”一次一密钥“: 而也可以设计为:前后端一开始定义好一个固定key,这样好处是:就不需获取随机key,也不需要在最后把加密内容和Key穿插起来发送,只需给需加密的内容加密即可. 但这样的坏处是:如果拿到固定的key,就可以模拟前端报文连续给server端发消息,key的级别不强:而…
#region 跨平台加解密(c# 安卓 IOS) // public static string sKey = "12345678"; // /// // /// 解密 // /// // /// 要解密的以Base64 // /// 密钥,且必须为8位 // /// 已解密的字符串 // public static string DesDecrypt(string pToDecrypt) // { // //转义特殊字符 // pToDecrypt = pToDecrypt.Rep…
一.项目结构 二.代码具体实现 1.密钥对生成的两种方式:一种生成公钥私文件,一种生成公钥私串 KeyPairGenUtil.java package com.wangjinxiang.genkey.util; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.security.Key; import java.security.KeyPair; import java.security…
Java代码 import java.util.ArrayList; import java.util.List; /** * DES加密/解密 * * @Copyright Copyright (c) 2015 * @author liuyazhuang * @see DESCore */ public class Des { public Des() { } public static void main(String[] args) { Des desObj = new Des(); St…
MD5加密一般不可逆,只能暴力突破.所以这边记录一下一些关于字符串的加解密的两种方法,以便自己学习 AES public class AESHelper { public static string AESEncrypt(string text) { return AESEnc(text, KeyStruct.strKey); } public static string AESDecrypt(string text) { return AESDes(text, KeyStruct.strKey…
这两天在跟友商对接接口,在对外暴露接口的时候,因为友商不需要登录即可访问对于系统来说存在安全隐患,所以需要友商在调用接口的时候需要将数据加密,系统解密验证后才执行业务.所有的加密方式并不是万能的,只是增加了破解的成本高低而已-- import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; im…
以下引自他人博客: 1. 需求背景我们在开发应用时,需要连接数据库,一般把数据库信息放在一个属性配置文件中,比如***.properties,具体的内容 #mysql的配置文件jdbc.url=jdbc:mysql://127.0.0.1:3306/testjdbc.username=rootjdbc.password=123456里面用明文的方式存储着数据库的敏感信息用户名username和密码password,这是不好的行为,容易产生安全问题.那我们如何实现加密存储呢? 2. 实现原理实现原…
DES加密和解密算法的实现(C语言) 主要是做个记录,害怕以后代码丢了,先放到这里了. DES再不进行介绍了,可以看上一篇的 DES 的python实现 转载请注明出处:https://www.cnblogs.com/wangyanzhong123/p/13784272.html 说明 这个版本用了很多位运算,也没有添加注释,所以可能阅读起来会有一些困难.其中实现的是 DES 的 CBC 模式下的加解密,可以保证的是结果一定是正确的. 源代码 #include <stdio.h> #inclu…
1.使用openssl生成私钥和公钥 openssl下载地址:http://www.openssl.org/source openssl生成私钥命令:  genrsa -out rsa_private_key.pem 1024 openssl生成公钥命令:  rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 2.此时在openssl安装目录下的bin文件夹可以看到 rsa_private_key.pem 和 rsa_publi…
import com.mchange.v2.io.DirectoryDescentUtils; import javax.crypto.Cipher;import javax.crypto.CipherInputStream;import javax.crypto.CipherOutputStream;import javax.crypto.KeyGenerator;import java.io.*;import java.nio.file.Files;import java.nio.file.…
package com.test.test1.util; import java.security.MessageDigest; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto…
如下的DES加密方法会报错:Wrong key size public static String encryptDES(String source) throws Exception{ SecretKeySpec skeySpec = new SecretKeySpec(ckplayerkey.getBytes(), "DES"); Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher…
/** * DES加密 * * @param data 加密数据 * @param key 密钥 * @return 返回加密后的数据 */ public static byte[] desEncrypt(byte[] data, String key, String charset) { try { Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); byte[] k = charset == null || cha…
private static final Cipher DES_CIPHER; static { try { DES_CIPHER = Cipher.getInstance("DES/ECB/PKCS1Padding"); } catch (NoSuchAlgorithmException | NoSuchPaddingException e) { throw Throwables.propagate(e); } } public static String encryptDES(St…