URLにいくつかのパラメータを渡す必要がある状況があります。 URLにid = 1を持たないために、単純な暗号化方法を追加して値を難読化しました。これは.Netの土地でうまくいきました。しかし、私は古典的なASPページからこのネットページに、パラメータを暗号化することを期待している必要があります。私は暗号化や古典的なASPにあまり慣れていないし、誰かが私を良いJSライブラリに導くことを望んでいたのだろうか、単にこの関数の古典的なaspバージョンを提供するだろうか? .Netコードに何か問題がある場合は、その点についてもフィードバックをいただきたいと思います。スニペットをc#からvbscriptに変換する
は、ここでの暗号化方式です:
public static string Encrypt(string Input)
{
try
{
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
var des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(Input);
var ms = new MemoryStream();
var cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception)
{
return "";
}
}
そして、ここで復号化方法(私はこれは、従来のASP暗号化されたテキストを復号化する必要があります)です:任意の助け
がpublic static string Decrypt(string Input)
{
try
{
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
var des = new DESCryptoServiceProvider();
var inputByteArray = Convert.FromBase64String(Input);
var ms = new MemoryStream();
var cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception)
{
return "";
}
}
ありがとう!
感謝。ある時点でこれを行うことを検討しましたが、IIS x64で実行しているときにカスタムCOMコンポーネントにアクセスする際に問題が発生しました。これは誰でも確認できますか?x64で実装するための特別な考慮事項があるかどうか –
x64でカスタムCOM +コンポーネントにアクセスできます。彼らがカスタムステップであるかどうかはわかりませんが、可能です。私たちはそれを行ういくつかのレガシーコードを持っています。 – Jab
コンパイルオプションに進み、詳細設定でCPUターゲットをx64に具体的に設定し、COM相互運用機能に登録するように設定されていることを確認します。 私はそれをやった後もまだ問題がありません。また、.NETのデプロイメントを使用すると、DLLを登録する際の方がうまくいくことがわかりました。ただし、手動でregasmコマンドを参照してBATファイルも作成しました。 – RiddlerDev