熟悉加密组件CAPICOM的帮忙看一下加密原理
最新需要将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;
}