【加解密】关于DES加密算法的JAVA加密代码及C#解密代码
2015-05-21 15:11
537 查看
JAVA加密:
C#解密
package webdomain; import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec; import Decoder.BASE64Encoder; public class CrytoTools { private static final byte[] DESkey = "此处8位密钥--A".getBytes(); // private static final byte[] DESIV = "此处另外8位密钥--B".getBytes(); // static AlgorithmParameterSpec iv = null; private static Key key = null; public CrytoTools() throws Exception { DESKeySpec keySpec = new DESKeySpec(DESkey); iv = new IvParameterSpec(DESIV); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); key = keyFactory.generateSecret(keySpec); } public String encode(String data) throws Exception{ Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); enCipher.init(Cipher.ENCRYPT_MODE , key,iv); byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8")); BASE64Encoder base64Encoder = new BASE64Encoder(); return base64Encoder.encode(pasByte); } }
C#解密
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Web; using System.Text; using System.Configuration; using System.Security.Cryptography; using System.IO; namespace AppService { public class DES { // DES復号化 public static string DESDeCode(string encryptedString, string sKey) { try { byte[] btKey = Encoding.Default.GetBytes("此处8位密钥--A"); // キー byte[] btIV = Encoding.Default.GetBytes("此处另8位密钥--B"); // キー DESCryptoServiceProvider des = new DESCryptoServiceProvider(); using (MemoryStream ms = new MemoryStream()) { byte[] inData = Convert.FromBase64String(encryptedString); try { using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write)) { cs.Write(inData, 0, inData.Length); cs.FlushFinalBlock(); } return Encoding.UTF8.GetString(ms.ToArray()); } catch { return encryptedString; } } } catch { return encryptedString; } } } }
相关文章推荐
- 关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码详解
- 关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码步骤
- DES ECB模式JAVA PHP C#实现加密、解密兼容
- JAVA和C# 3DES加密解密
- Java Base64加密、解密原理Java代码
- C# Java间进行RSA加密解密交互(三)
- Java探索之Thread+IO文件的加密解密代码实例
- java 数据的加密与解密普遍实例代码
- RSA,JAVA私钥加密,C#公钥解密
- RSA,JAVA私钥加密,C#公钥解密
- 3DES加密 java与 C# 可以相互加密解密
- C#和JAVA 3DES加密解密
- C# 实现 JAVA AES加密解密[原创]
- Java基础——MD5处理、加密、解密代码
- JAVA 与C# 的AES的加密函数、解密函数,加密解密结果一致
- AES Java加密 C#解密 (128-ECB加密模式)
- C# Java间进行RSA加密解密交互
- Java加密解密和数字签名完整代码示例
- JAVA和C# 3DES加密解密
- 基于RSA的加密/解密示例C#代码