使用的DES对称加密

原创 2004年04月23日 13:29:00

在网站使用Cookie或者存放数据到数据库中的时候时常会用到加密解密,MD5非常好用,但是有的时候需要进行逆运算。那么此时DES对称加密就比较好用了。设定一个密钥,然后对所有的数据进行加密。代码介绍如下,事先声明仅为小弟个人理解,请各位多多指教
Imports System
Imports System.IO
Imports System.Text
Imports System.Diagnostics
Imports System.Security.Cryptography
Imports System.Text.RegularExpressions

'使用标准DES对称加密
Public Function EncryptDes(ByVal SourceStr As String) As String

    'get encodekey string from web.config
    Dim skey As String
    skey = ConfigurationSettings.AppSettings("EnCodeKey")

    'put the input string into the byte array
    Dim des As DESCryptoServiceProvider = New DESCryptoServiceProvider()
    Dim inputByteArray As Byte()
    inputByteArray = Encoding.Default.GetBytes(SourceStr)

    'set encrypt object and skey
    des.Key = ASCIIEncoding.ASCII.GetBytes(skey)
    des.IV = ASCIIEncoding.ASCII.GetBytes(skey)
    Dim ms As MemoryStream = New MemoryStream()
    Dim cs As CryptoStream = New CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)
    Dim sw As StreamWriter = New StreamWriter(cs)
    sw.Write(SourceStr)
    sw.Flush()
    cs.FlushFinalBlock()
    ms.Flush()
    Return Convert.ToBase64String(ms.GetBuffer(), 0, ms.Length)

End Function

'使用标准DES对称解密
Public Function DecryptDes(ByVal SourceStr As String) As String

    'get encodekey string from web.config
    Dim sKey As String
    sKey = ConfigurationSettings.AppSettings("EnCodeKey")

    'put the input string into the byte array
    Dim des As DESCryptoServiceProvider = New DESCryptoServiceProvider()

    des.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
    des.IV = ASCIIEncoding.ASCII.GetBytes(sKey)

    Dim buffer As Byte() = Convert.FromBase64String(SourceStr)

    Dim ms As MemoryStream = New MemoryStream(buffer)
    Dim cs As CryptoStream = New CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read)
    Dim sr As StreamReader = New StreamReader(cs)
    Return sr.ReadToEnd()

End Function

常用对称加密算法-DES

详细介绍:http://blog.csdn.net/cc41798520101/article/details/53673681 package com.test; import ...
  • cc41798520101
  • cc41798520101
  • 2017年04月27日 16:55
  • 497

C#实现DES对称加密法

http://www.cnblogs.com/tearer/archive/2010/07/15/1778262.html
  • ym296900664
  • ym296900664
  • 2016年08月23日 14:43
  • 923

对称加密(DES)与非对称加密(RSA)

1.两种算法的子类别 对称加密和非对称加密都有分国际算法和国密算法。 对称加密:DES(国际算法), SM4(国密算法) 非对称加密:RSA(国际算法),SM2(国密算法) 2.RSA加密过程 R...
  • abcd1101
  • abcd1101
  • 2017年04月22日 10:44
  • 284

JAVA和.NET使用DES对称加密的区别

   JAVA和.NET的系统类库里都有封装DES对称加密的实现方式,但是对外暴露的接口却各不相同,甚至有时会让自己难以解决其中的问题,比如JAVA加密后的结果在.NET中解密不出...
  • codepython
  • codepython
  • 2015年02月03日 14:25
  • 598

DES/3DES/AES区别 (对称加密)

公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。     D...
  • joeyon
  • joeyon
  • 2015年04月07日 14:01
  • 4617

Java对称加密算法DES[以及其他对称加密算法]

DES算法简介 DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位...
  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2015年11月21日 14:46
  • 1094

Unity3d 使用 RSA和DES 加密网络数据包

在网络通讯中,如果数据不进行加密,那么这些数据都是透明的 。就相当于你去寄信,但是这封信居然没有用信封装起来,这样邮局的任何一个人都可以拿过来看信的内容,毫无安全性可言。...
  • cp790621656
  • cp790621656
  • 2016年05月29日 17:55
  • 3655

【安全加密技术】 对称加密

转载请注明出处:http://blog.csdn.net/sk719887916/article/details/46822663       上篇了解了《非对称加密》后 今天我来继续了解下加密技术中...
  • sk719887916
  • sk719887916
  • 2015年07月09日 22:28
  • 1626

Java工具类——DES加密和解密工具 II

import java.security.Key; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; imp...
  • softwave
  • softwave
  • 2014年03月13日 20:53
  • 5871

Android 中对称加密算法DES,DESede,AES的加密和解密 的工具类的使用

DES,DESede,AES 是 对称加密的算法的工具类的使用。 注意密码的长度使不同的,DES是8个字节的长度的密码,DESede是24个字节的长度的密码,AES 是 16个字节的密码 加密...
  • Rodulf
  • Rodulf
  • 2016年03月22日 21:02
  • 2369
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用的DES对称加密
举报原因:
原因补充:

(最多只允许输入30个字)