modSecurityTools 函式庫 風禹科技驗證有限公司 網站 提供 .Net 原始碼

MyDESDecrypt 函數

說明

將指定的陣列採 DES 解密編碼轉換為數值物件

本函數之引數列表

引數 型態 位元組 選項 預設值 說明
objValue Object - 必須 (無) 欲解密之物件變數,大部分情況應為位元組陣列
desKey Byte() 8 必須 (無) 對稱演算法的秘密金鑰,請傳入 8 Bytes 位元組陣列,需與加密金鑰相符。
desIV Byte() 8 必須 (無) 對稱演算法的初始化向量,請傳入 8 Bytes 位元組陣列,需與加密金鑰相符。
nVarType VariantType 4 可省略 Array Or Byte 預設為位元組陣列,旗標值為 VB.NET 物件型態常數:
常數名 數值 說明
Empty 0 Null 參考。
Null 1 Null 物件。
Short 2 表示 16 位元整數的整數型別,其值介於 -32768 和 32767 之間。
Integer 3 表示 32 位元整數的整數型別,其值介於 -2147483648 和 2147483647 之間。
Single 4 表示具有 7 數字精確度從 1.5 x 10 到大約 3.4 x 10 數值範圍的浮點型別。
Double 5 表示具有 15-16 數字精確度從 5.0 x 10 到大約 1.7 x 10 數值範圍的浮點型別。
Currency 6 貨幣,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Date 7 表示日期和時間值的型別。(0001 年 1 月 1 日 0:00:00 到 9999 年 12 月 31 日下午 11:59:59)。
String 8 表示 Unicode 字元字串的密封類別型別。(0 至大約 20 億個 Unicode 字元)。
Object 9 可以 Object 型別的變數加以儲存的任何型別。
Error 10 錯誤碼,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Boolean 11 表示 true 或 false 的布林值的簡單型別。
Variant 12 通用型態,在 VB.NET 改用 Object 類別,僅供存取 COM 物件使用。
DataObject 13 DataObject,在 VB.NET 不使用此類別,僅供存取 COM 物件使用。
Decimal 14 表示具有 28-29 個有效位數、從 1.0 x 10 到大約 7.9 x 10 數值範圍的簡單型別。
Byte 17 表示不帶正負號的 8 位元整數的整數型別,其值介於 0 和 255 之間。
Char 18 表示不帶正負號的 16 位元整數的整數型別,其值介於 0 和 65535 之間。System.TypeCode.Char 型別的可能值集合對應於 Unicode 字元集 (Character Set)。
Long 20 表示 64 位元整數的整數型別,其值介於 -9223372036854775808 和 9223372036854775807 之間。
UserDefinedType 36 User-defined 型別。結構的每個成員都有由其資料型別所決定的範圍,與其他成員的範圍無關。
Array 8192 陣列。

bBigEndian Boolean 1 可省略 False 由於 Windows 採用 Little Endian ,故預設改依記憶體順序排列,欲輸出類同 Hex 先高位元後低位元者,則需設定 BigEndian 引數為 True

傳回值

傳回指定之物件型別 (Object)

範例

Debug.Print(MyDESDecrypt(rtnObject, arrKey, arrIV, VariantType.Date))

更進一步

  在 .Net 內已有 System.Security.Cryptography.DESCryptoServiceProvider 可轉換 DES 編碼,但由於只提供位元組陣列轉換,故配合個人需要另外撰寫通用轉換模組,此模組並非必要。

基本條件

Visual Studio .Net 2003 以後相容版本 | 需同時引用modStrTools模組 | Security.vb

請參閱

modSecurityTools 函式庫 | ByteToVariant | MyDESDecryptBytes