熟悉加密组件CAPICOM的帮忙看一下加密原理

treamboy 2011-06-07 03:11:41
最新需要将N年前的C#代码改写JAVA的,发现有一段下面的代码我无法改写,请帮忙看一下具体的加密原理是什么,该代码调用的是CAPICOM.dll组件。

我的理解是:laown982340o123wfw354e23gsfdgjhjsav 作为密钥进行了子密钥的生成,用生成后的子密钥对源字符串strInput进行RC4加密,加密后进行了base64格式转换。结果为转换后的值。
不知理解的对不对,之前用JAVA直接用laown982340o123wfw354e23gsfdgjhjsav作为密钥进行RC4加密,再对加密后的字符串进行Base64转换,发现加密后的字符串与该代码加密后的字符根本不同。

private Interop.CAPICOM.EncryptedData m_encypt = null

public string Encrypt(string strSource)
{
string encryptStr = string.Empty;
m_encypt.Algorithm.KeyLength = Interop.CAPICOM.CAPICOM_ENCRYPTION_KEY_LENGTH.CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
m_encypt.Algorithm.Name = Interop.CAPICOM.CAPICOM_ENCRYPTION_ALGORITHM.CAPICOM_ENCRYPTION_ALGORITHM_RC4;
m_encypt.SetSecret("laown982340o123wfw354e23gsfdgjhjsav", Interop.CAPICOM.CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD);
m_encypt.Content = strSource.Trim();
try
{
encryptStr = m_encypt.Encrypt(Interop.CAPICOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
}
catch(Exception)
{
}
return encryptStr;
}
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liucongwei1985 2012-05-28
  • 打赏
  • 举报
回复
楼主,后来你是怎么解决的?
jimmy654321 2011-07-12
  • 打赏
  • 举报
回复
CAPICOM用EncryptedData加密结果不符合PKCS#7标准,也就是说用CAPICOM加密的数据也只能用其解密
Java里的加解密很齐备的
子夜__ 2011-06-07
  • 打赏
  • 举报
回复
非对称加密

你说的意思是JAVA 加密后跟.NET加密后不一样 是吧。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧