zoukankan      html  css  js  c++  java
  • .NET编程 TripleDES加解密范例

    这个范例是以VB.NET进行TripleDES加解密范例

     Imports System  
     Imports System.IO  
     Imports System.Security.Cryptography  
      
     Public Class Form_Main  
      
         Dim byteKey As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}  
         Dim byteIV As Byte() = {8, 7, 6, 5, 4, 3, 2, 1}  
         Dim byteEncrypt As Byte() = Nothing 
         Dim strPlainText As String = String.Empty  
      
         Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
      
      
         End Sub 
      
         Private Shared Function TripleDESEncrypt(ByVal strInput As String, ByVal byteKey As Byte(), ByVal byteIV As Byte()) As Byte()  
             Dim tdes As TripleDES = Nothing 
             Dim ict As ICryptoTransform = Nothing 
             Dim ms As MemoryStream = Nothing 
             Dim cs As CryptoStream = Nothing 
             Dim sw As StreamWriter = Nothing 
             Dim byteResult As Byte() = Nothing 
      
             Try 
                 tdes = TripleDES.Create()  
                 tdes.Key = byteKey  
                 tdes.IV = byteIV  
      
                 ict = tdes.CreateEncryptor()  
      
                 ms = New MemoryStream()  
      
                 cs = New CryptoStream(ms, ict, CryptoStreamMode.Write)  
      
                 sw = New StreamWriter(cs)  
      
                 sw.Write(strInput)  
                 sw.Close()  
      
                 cs.Close()  
      
                 byteResult = ms.ToArray()  
                 ms.Close()  
      
                 Return byteResult  
             Catch e As Exception  
                 Throw e  
             Finally 
                 If sw IsNot Nothing Then 
                     sw.Close()  
                 End If 
                 If cs IsNot Nothing Then 
                     cs.Close()  
                 End If 
                 If ms IsNot Nothing Then 
                     ms.Close()  
                 End If 
             End Try 
         End Function 
      
         Private Shared Function TripleDESDecrypt(ByVal byteInput As Byte(), ByVal byteKey As Byte(), ByVal byteIV As Byte()) As String 
             Dim tdes As TripleDES = Nothing 
             Dim ict As ICryptoTransform = Nothing 
             Dim ms As MemoryStream = Nothing 
             Dim cs As CryptoStream = Nothing 
             Dim sr As StreamReader = Nothing 
             Dim strResult As String = [String].Empty  
      
             Try 
                 tdes = TripleDES.Create()  
                 tdes.Key = byteKey  
                 tdes.IV = byteIV  
      
                 ict = tdes.CreateDecryptor()  
      
                 ms = New MemoryStream(byteInput)  
      
                 cs = New CryptoStream(ms, ict, CryptoStreamMode.Read)  
      
                 sr = New StreamReader(cs)  
      
                 strResult = sr.ReadToEnd()  
                 sr.Close()  
      
                 cs.Close()  
      
                 ms.Close()  
      
                 Return strResult  
             Catch e As Exception  
                 Throw e  
             Finally 
                 If sr IsNot Nothing Then 
                     sr.Close()  
                 End If 
                 If cs IsNot Nothing Then 
                     cs.Close()  
                 End If 
                 If ms IsNot Nothing Then 
                     ms.Close()  
                 End If 
             End Try 
         End Function 
      
         Private Sub Button_Start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Start.Click  
             strPlainText = String.Empty  
      
             '唿叫加密方法   
             byteEncrypt = TripleDESEncrypt(TextBox1.Text, byteKey, byteIV)  
      
             '加密结果   
             TextBox2.Text = Convert.ToBase64String(byteEncrypt)  
      
             '解密结果  
             TextBox3.Text = TripleDESDecrypt(byteEncrypt, byteKey, byteIV)  
      
      
         End Sub 
     End Class 

     

  • 相关阅读:
    Windows 下 Django/python 开发环境配置
    [Django] Windows 下安装 配置Pinax 工程
    [Django 1.5] Windows + Apache + wsgi配置
    [Django] html 前端页面jQuery、图片等路径加载问题
    [Django] Pinax 项目下APP的 安装与使用
    【代码片段】jQuery测试兄弟元素集合
    【代码片段】jQuery测试后代元素集合
    【代码片段】jQuery测试更多元素集合
    【代码片段】jQuery测试祖先元素集合
    【网页插件】热气球漂浮的效果
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1076198.html
Copyright © 2011-2022 走看看