Implementierung vorhandener ASP.NET -Verschlüsselungs- und Entschlüsselungsfunktionen in JavaScript

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Implementierung vorhandener ASP.NET -Verschlüsselungs- und Entschlüsselungsfunktionen in JavaScript

by Anonymous » 18 Aug 2025, 13:47

In meiner vorhandenen ASP.NET -App gibt es Verschlüsselungs- und Entschlüsselungsfunktionen mit TripledescryptoServiceProvider mit einem Schlüssel, ich habe auch den Schlüssel, und ich kann die entschlüsselten und verschlüsselten Strings konstant drucken, dass die MSSQL -Datenbank die gespeicherte Verschlüsselung von MSSQL -Datenbanken. Reactjs während der SQL Server -Datenbank beibehält. (ASP führt sehr schlecht aus)
Backend ist in ExpressJs mit REST -APIs < /p>
Ich erstelle die Anmeldefunktion, die das Kennwort überprüft. Wie schreibe ich nun denselben Verschlüsselungs- und Entschlüsseln von Mechanismus von ASP.NET in ExpressJs Backend < /p>

Dies ist die Verschlüsselungsfunktion von ASP.NET < /p>
public string Encrypt(string toEncrypt)
{
byte[] keyArray;
byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
var settingsReader = new AppSettingsReader();
var key = (string)settingsReader.GetValue("Sabmar", typeof(String));
{
var hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
hashmd5.Clear();
}
var tdes = new TripleDESCryptoServiceProvider
{
Key = keyArray,
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
var cTransform = tdes.CreateEncryptor();
byte[] resultArray =
cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
< /code>
Dies ist die Verschlüsselungsfunktion, die ich im JavaScript < /p>
geschrieben habefunction encrypt(plainString, key) {
try {
// Create MD5 hash of the key
const hash = crypto.createHash('md5');
hash.update(key);
const keyArray = hash.digest();

// Create cipher instance
const cipher = crypto.createCipheriv('des-ede3', keyArray, null);
cipher.setAutoPadding(true);

// Encrypt the plain string
const encrypted = Buffer.concat([cipher.update(Buffer.from(plainString, 'utf8')), cipher.final()]);

// Return the encrypted string
return encrypted.toString('base64');
} catch (error) {
console.error(error);
return "";
}
}
< /code>
und ich rufe die Funktion auf diese Weise auf < /p>
const key = 'Sabmar';
const cipherString = 'Welcome';
const decryptedString = decrypt(cipherString, key);
console.log(decryptedString);
< /code>
Jetzt gibt mir der JavaScript Fehler, dass die Schlüssellänge ungültig ist Bits). Die im Code verwendete MD5-Hash-Funktion generiert jedoch einen 16-Byte (128-Bit).>

Top