VBA で認証情報 (文字列) を暗号化し、C# (WCF サービス) で正しく復号化する必要があります。
使用する暗号化の種類や強度についてはあまり心配していませんが、復号化によって元のテキストが正しく生成される必要があるだけです。
誰かが私にこれを行う方法をアドバイスしたり、必要なことを達成するために VBA と C# の両方で実装するコードのブロックを指摘したりできますか?
よろしくお願いします
VBA で認証情報 (文字列) を暗号化し、C# (WCF サービス) で正しく復号化する必要があります。
使用する暗号化の種類や強度についてはあまり心配していませんが、復号化によって元のテキストが正しく生成される必要があるだけです。
誰かが私にこれを行う方法をアドバイスしたり、必要なことを達成するために VBA と C# の両方で実装するコードのブロックを指摘したりできますか?
よろしくお願いします
わかりました、これを使用できると確信しています。私はVBAに使用していますが、vb.netでそのまま使用するのに十分簡単で、C#に変換する一歩手前です。ここでコードと説明を取得しました: 関数を作成した人へのリンク I just use it for VBA. 私はvb.netで大量のVBA関数を使用しており、これがc#で使用できることを知るために十分なvb.netを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