有没有人能够使用 SSCrypto Framework for Cocoa 加密文本,然后在 C#/.NET 中解密?或者有人可以提供一些指导吗?
我很确定我的问题与正确设置加密货币设置有关,但我对 Cocoa 的使用还很不熟练,所以我无法确定图书馆中使用了哪些设置。然而,我试图破译它似乎是 md5 散列、CBC 模式、用零填充,我不知道是否设置了 IV...
我的 C# 代码如下所示:
public static string Decrypt( string toDecrypt, string key, bool useHashing )
{
byte[] keyArray;
byte[] toEncryptArray = Convert.FromBase64String( toDecrypt );
if( useHashing )
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash( UTF8Encoding.UTF8.GetBytes( key ) );
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes( key );
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.CBC;
tdes.Padding = PaddingMode.Zeros;
ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock( toEncryptArray, 0, toEncryptArray.Length );
tdes.Clear();
return UTF8Encoding.UTF8.GetString( resultArray );
}
当我在 Cocoa 端运行加密时,我得到了加密的文本:
UMldOZh8sBnHAbfN6E/9KfS1VyWAa7RN
但这不会在 C# 端使用相同的密钥进行解密。
任何帮助表示赞赏,谢谢。