繁体   English   中英

在VBA中加密字符串,在C#中解密

[英]Encrypt string in VBA, decrypt in C#

我需要在VBA中加密身份验证信息(字符串),然后在C#(WCF服务)中正确解密它们。

我们不必过于担心所使用的加密的类型或强度,只是解密必须正确产生原始文本。

谁能建议我该怎么做,或指向我在VBA和C#中都实现我所需要做的代码块?

提前谢谢了

好的,我很确定您可以使用此功能。 我正在VBA中使用它,但是它很简单,可以按原样在vb.net中使用,离转换为C#仅一步之遥。 我在这里获得了代码和说明: 链接到谁构建了该函数,我只是将其用于VBA。 我在vb.net中使用了大量VBA函数,并且已经将足够的vb.net转换为c#,以知道可以在c#中使用。

Function RunRC4(sMessage, strKey)
Dim kLen, x, y, i, j, temp
Dim s(256), k(256)

'Init keystream'
klen = Len(strKey)
For i = 0 To 255
    s(i) = i
    k(i) = Asc(Mid(strKey, (i Mod klen) + 1, 1))
Next

j = 0
For i = 0 To 255
    j = (j + k(i) + s(i)) Mod 255
    temp = s(i)
    s(i) = s(j)
    s(j) = temp
Next

'Drop n bytes from keystream'
x = 0
y = 0
For i = 1 To 3072
    x = (x + 1) Mod 255
    y = (y + s(x)) Mod 255
    temp = s(x)
    s(x) = s(y)
    s(y) = temp
Next

'Encode/Decode'
For i = 1 To Len(sMessage)
    x = (x + 1) Mod 255
    y = (y + s(x)) Mod 255
    temp = s(x)
    s(x) = s(y)
    s(y) = temp

    RunRC4 = RunRC4 & Chr(s((s(x) + s(y)) Mod 255) Xor Asc(Mid(sMessage, i, 1)))
Next
End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM