1
我使用ChilkatCrypt2在VB6中進行了加密。現在在.NET中,我想使用System.Security.Cryptography。將加密從VB6轉換爲.NET
我用:
Public Function Encripta(pTexto As String, pChave As String, pModo As Byte) As String
Dim vMD5 As New ChilkatCrypt2
vMD5.UnlockComponent "..................."
vMD5.Charset = "utf-8"
vMD5.KeyLength = 128
vMD5.CryptAlgorithm = "rijndael"
vMD5.SecretKey = vMD5.GenerateSecretKey(pChave)
vMD5.EncodingMode = "hex"
If pModo = 1 Then
Encripta = vMD5.EncryptStringENC(pTexto)
Else
Encripta = vMD5.DecryptStringENC(pTexto)
End If
Set vMD5 = Nothing
End Function
誰能幫我改寫這個在.NET(VB或C#),使現有的加密解密值正確。我無法弄清楚參數等價。
互操作性將取決於'GenerateSecretKey'的披露和可移植性,是否記錄在案? –
嗨Alex,GenerateSecretKey(str As String)As Variant將字符串散列到與KeyLength屬性的當前值具有相同位數的字節數組。例如,如果KeyLength等於128位,則返回一個16字節的數組。這可以用來設置SecretKey屬性。爲了解密,SecretKey必須完全匹配。要使用「基於密碼的」加密,密碼將傳遞給此方法以生成二進制密鑰,然後可以將其分配給SecretKey屬性。 – user1241433
http://www.chilkatsoft.com/refdoc/xChilkatCrypt2Ref.html – user1241433