用C#实现Des加密和解密

加密|解密

using System;
using System.IO;
using System.Security.Cryptography;

namespace Vavic
{
/// <summary>
/// Security 的摘要说明。
/// </summary>
public class Security
{
const string KEY_64 = "VavicApp";
const string IV_64 = "VavicApp"; //注意了,是8个字符,64位

public Security()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

public static string Encode(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);

DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);

StreamWriter sw = new StreamWriter(cst);
sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);

}

public static string Decode(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);

byte[] byEnc;
try
{
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
}

DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
return sr.ReadToEnd();
}
}
}

时间: 2024-09-02 01:23:20

用C#实现Des加密和解密的相关文章

DES加密和解密PHP,Java,ObjectC统一的方法

原文:DES加密和解密PHP,Java,ObjectC统一的方法 PHP的加解密函数 <?php class DesComponent { var $key = '12345678'; function encrypt($string) { $ivArray=array(0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF); $iv=null; foreach ($ivArray as $element) $iv.=CHR($element); $siz

密钥生成器-java中的 DES 加密与解密

问题描述 java中的 DES 加密与解密 DES类 package dao; import java.security.Security; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class DES { public static String ALGORITHM_DES="DES"; //加密算法的名称 public sta

asp.net DES加密和解密实现方法

问题描述 asp.net DES加密和解密实现方法 asp.net DES加密和解密实现方法,需要代码,加密和解密结果和这个网址一样就可以了http://e-file.arkoo.com/tools/des3.htm 解决方案 Asp.net常用加密和解密方法.NET中加密和解密的实现方法.NET中加密和解密的实现方法

C#实现Des加密和解密 代码

using System; using System.IO; using System.Security.Cryptography; namespace Vavic { /// /// Security 的摘要说明. /// public class Security { const string KEY_64 = "VavicApp"; const string IV_64 = "VavicApp"; //注意了,是8个字符,64位 public Security

python实现DES加密解密方法实例详解

  本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优化 1. desstruct.py DES加密中要使用的结构体 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

DES加密 windws上加密,linux不能解密

问题描述 我在windows上做的加密到linux上解密总是失败,报java.lang.Exception:padblockcorrupted 解决方案 解决方案二:如果代码不保密的话,请贴出相关DES加密和解密的代码,以及测试用的原文数据.加密密钥,以及你在Windows上用该密钥和原文进行DES加密后的密文.解决方案三:引用1楼bao110908的回复: 如果代码不保密的话,请贴出相关DES加密和解密的代码,以及测试用的原文数据.加密密钥,以及你在Windows上用该密钥和原文进行DES加密

DES加密解密

问题描述 上面是加密,下面是解密加密正常,解密有错误,求大神指导publicvoidSEnc(Stringstr)throwsException{FileInputStreamf=newFileInputStream("D:/key.dat");intnum=f.available();byte[]keybyte=newbyte[num];f.read(keybyte);SecretKeykk=newSecretKeySpec(keybyte,"DESede");C

java中使用DES加密解密实例_java

在前面介绍了一些加密解密类的使用,这里综合起来做一个简单的测试,代码如下: MainActivity: 复制代码 代码如下: package com.home.testdes; import android.os.Bundle;import android.util.Log;import android.app.Activity; public class MainActivity extends Activity {  @Override protected void onCreate(Bun

C# des加密解密

问题描述 java的DES加密解密转成C#的des加密解密java的DES加密解密代码/****使用DES加密与解密,可对byte[],String类型进行加密与解密密文可使用String,byte[]存储.**方法:voidgetKey(StringstrKey)从strKey的字条生成一个Key*setKey()从默认defaultKey的字条生成一个Key*StringgetEncString(StringstrMing)对strMing进行加密,返回String密文String*getD