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