Ich bin eine object
im Frontend verschlüsseln und senden Sie eine HTTP-POST-Anfrage mit den verschlüsselten Daten. Im Backend versuche ich dieses Objekt zu entschlüsseln, aber es schlägt fehl.Digitale Envelope Routinen: Bad Decrypt
Die Prüfungen sind vorbei, aber wenn sie mit Fehler dem eigentlichen Projekt dieser decrypt
Methode versagt integriert:
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt at Error (native) at Decipher.final (crypto.js:158:26) at Object.exports.decrypt.error [as decrypt]
Hier ist der relevante Code:
export const decrypt = text => {
if (!text)
throw Error('Decrypt: Text may not be blank');
const decipher = crypto.createDecipher(encryptAlgorithm,
encryptionKey)
let decrypted = decipher.update(text, textEncodingHex,
textEncodingUtf8)
decrypted += decipher.final(textEncodingUtf8)
return decrypted
}
Und das ist, wie ich es bin mit
authSignInWeb(): any {
return async (request: any, reply: any) => {
try {
let decrytedRequestPayload = request.payload;
if (process.env.REACT_APP_ENCRYPT) {
decrytedRequestPayload = JSON.parse(cryptoHelper.decrypt(request.payload))
}
...
} catch (error) {
reply(error);
...
}
};
};
Warum nicht nur HTTPS verwenden, es funktioniert einfach und ist sicher. – zaph