des加密 c++ java
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了des加密 c++ java相关的知识,希望对你有一定的参考价值。
谁可以把下面的java des加密算法写成c++的,要求java加密的可以用c++解密
c++加密的可以用java解密哦
private String encryptData(String retData)
if (!encryptFlag)
return retData;
String returnData = "";
try
String oriDataValue = retData;
BASE64Decoder base64decoder = new BASE64Decoder();
BASE64Encoder base64encoder = new BASE64Encoder();
byte[] keyBytes = base64decoder.decodeBuffer("liana");
KeyGenerator generator = KeyGenerator.getInstance("DES");
generator.init(new SecureRandom(keyBytes));
Key key = generator.generateKey();
Cipher cipher = Cipher.getInstance("DES" + "/" + "ECB" + "/"
+ "PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encryptBytes = cipher
.doFinal(oriDataValue.getBytes("UTF-8"));
String encryptStr = base64encoder.encode(encryptBytes);
returnData = encryptStr;
catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
return returnData;
private String decryptData(String reqData)
if (!encryptFlag)
return reqData;
String returnData = "";
try
returnData = "";
String encryptDataValue = reqData;
BASE64Decoder base64decoder = new BASE64Decoder();
byte[] keyBytes = base64decoder.decodeBuffer("liana");
KeyGenerator generator = KeyGenerator.getInstance("DES");
generator.init(new SecureRandom(keyBytes));
Key key = generator.generateKey();
Cipher cipher = Cipher.getInstance("DES" + "/" + "ECB" + "/"
+ "PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] oriBytes = cipher.doFinal(base64decoder
.decodeBuffer(encryptDataValue));
returnData = new String(oriBytes, "UTF-8");
catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
return returnData;
openssl库调用不算很难,编译网上也有操作流程。
当不同语言实现加密解密操作的时候,注意一下反馈模式和填充模式就行。
常用的反馈模式是ECB和CBC,你这套代码是用的ECB就是无反馈模式,这个就可以不用考虑了。而填充模式标准的填充方法是pkcs#5标准,如果按照这种标准填充的,那什么语言只要数据对应,都没问题,因为算法的实现是相同的。 参考技术A 只要你用的是标准的DES算法,无论什么语言都是一样
我这有个C++ des加密的小程序,如果你想要,可以留个邮箱 参考技术B 没尝试过。不过,生成exe文件之后,那就无所谓了
以上是关于des加密 c++ java的主要内容,如果未能解决你的问题,请参考以下文章
C 语言文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )