So habe ich eine Situation, wo ich einige Parameter auf URL übergeben muss. Um ID = 1 auf der URL nicht zu haben, fügte ich eine einfache Verschlüsselungsmethode hinzu, um die Werte zu verschleiern. Dies hat innerhalb des .Net-Landes gut funktioniert. Jetzt muss ich jedoch von einer klassischen ASP-Seite zu dieser .net-Seite wechseln, die erwartet, dass die Parameter verschlüsselt werden. Ich bin wirklich nicht vertraut mit Verschlüsselung oder klassischen Asp und hoffte, dass jemand in der Lage wäre, mich zu einer guten JS lib zu leiten, oder einfach eine klassische asp-Version dieser Funktion zur Verfügung stellen? Wenn irgendetwas mit dem .Net-Code nicht stimmt, würde ich gerne Rückmeldungen dazu hören.Snippet von C# in VBScript konvertieren
Hier ist die Verschlüsselungsmethode:
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 "";
}
}
Und hier ist die Entschlüsselungsmethode (Ich brauche dies die klassische asp verschlüsselten Text zu entschlüsseln):
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 "";
}
}
Vielen Dank für jede Hilfe!
Vielen Dank für die Eingabe. Ich dachte darüber nach, dies zu tun, aber ich hatte Probleme beim Zugriff auf benutzerdefinierte com-Komponenten bei der Ausführung unter IIS x64. Kann jemand bestätigen, dass dies möglich ist oder nicht machbar ist, und wenn es spezielle Überlegungen für die Implementierung unter x64 gibt? –
Sie können auf benutzerdefinierte COM + -Komponenten in x64 zugreifen. Ich weiß nicht, ob es benutzerdefinierte Schritte sind, aber es ist möglich. Wir haben etwas älteren Code, der es tut. – Jab
Gehen Sie in Ihre Kompilierungsoptionen und versuchen Sie unter Advanced speziell für CPU-Targeting x64 und stellen Sie dann sicher, dass es für COM Interop registriert ist. Ich habe noch ein Problem, nachdem ich das getan habe. Außerdem habe ich festgestellt, dass die Verwendung einer .NET-Bereitstellung die Registrierung der DLLs verbessert, obwohl ich auch BAT-Dateien erstellt habe, die die regasm-Befehle manuell referenzieren. – RiddlerDev