我正在尝试不再使用CAPICOM,因为我不能再使用它(64位Windows 7计算机)。
使用TripleDES的现有代码如下所示:
EncryptedDataClass cryptic = new EncryptedDataClass();
cryptic.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM.CAPICOM_ENCRYPTION_ALGORITHM_3DES;
cryptic.SetSecret(secretKey, CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD);
cryptic.Content = stringToEncrypt;
encryptedString = cryptic.Encrypt(CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_ANY);为加密提供的唯一信息是secretKey。secretKey大约是10个字节。有没有办法使用.NET类来做同样的加密。注意:这用于验证与仍将使用CAPICOM的web服务的连接。任何帮助或想法都非常感谢。
发布于 2012-04-18 15:51:18
SetSecret不是钥匙!!
来自MSDN:
CAPICOM_SECRET_TYPE枚举
CAPICOM_SECRET_TYPE枚举表示用于派生用于数据加密/解密的密钥的秘密类型。
常量CAPICOM_SECRET_PASSWORD加密密钥将从密码派生。
发布于 2011-10-17 17:28:48
这不完全是你的问题的答案,也不是理想的,但我们用CAPICOM解决了同样的问题,并通过以下方式使其在64位世界中工作:
将二进制文件复制到windows\syswow64
发布于 2012-01-19 23:22:29
您可以在64位计算机上从32位进程使用CAPICOM (显然)。如果您在脚本中使用它,则必须使用32位版本的cscript.exe和wscript.exe。即:
c:\windows\sysWOW64\cscript.exe "c:\path\to\script.wsf"
c:\windows\sysWOW64\cscript.exe "c:\path\to\another\vbscript.vbs"这工作得很好,我现在正在生产中。
此外,此答案还介绍了如何注册CAPICOM的代理,以便可以在64位进程(包括64位脚本)中使用它。
实际上,我这样做是为了在64位SQL Server上使用CAPICOM,它工作得很好。
https://stackoverflow.com/questions/3291743
复制相似问题