Ho uno strano problema relativo alla sicurezza, ultimamente mi sono stati errori regolari ma intermittenti durante il tentativo di inserire password hash in un campo di database di SQL Server che è nvarchar (130):Hashed password a volte più lunga di 128 caratteri
<cfqueryparam value="#hashpass#" cfsqltype="cf_sql_char" maxLength="130">
la variabile HashPass è impostata così:
<cfset hashpass = Hash(arguments.password & getsalt.user_salt, "SHA-512")>
chiedi come sia possibile per un hash SHA-512 per essere più lungo di 128 caratteri, quando la documentazione dice che dovrebbe essere sempre 128 esattamente? Ecco l'errore di ColdFusion 10:
[Macromedia] [Driver JDBC SQLServer] [SQLServer] I dati stringa o binari sarebbero troncati.
(Modifica) AFAIK, sì, dovrebbe generare un valore di 512 bit/128 caratteri codificati come esadecimale. Quali sono i valori effettivi quando si verifica l'errore? – Leigh
Vorrei conoscere i valori effettivi che non riescono, quando ho provato a riprodurre l'errore il codice ha funzionato. Posso provare, prendere e mandare per email i valori che non funzionano, succede regolarmente solo non quando lo provo. –
Nello spirito di try/catch, che cosa fa la funzione onErrror() del tuo Application.cfc? –