Ho capito perché dici così! Nel codice che ho postato, c'è scritto iddonna = RS("iddonna"), che avevo dimenticato di correggere (qui nel forum) in id = RS("id")
Il mio codice definitivo che funziona è questo.
codice:
<!--#include file="connessione1.asp"-->
<!--#include file="md5.asp"-->
<%
Server.ScriptTimeout = 720
sql = "SELECT * FROM iscrizionemd5 WHERE length(password) <> 0 and IsNull(salt)"
SET RS = Conn1.Execute(sql)
Do While Not RS.EOF
GUIDMD5 = Server.CreateObject("Scriptlet.Typelib").GUID
minuscolo = lcase(GUIDMD5)
destra = Right(minuscolo,39)
salt = left(destra, 36)
password = RS("password")
username = RS("username")
id = RS("id")
passwordMD5 = md5(password & salt & username)
sqlresetpassword = "UPDATE iscrizionemd5 SET " &_
"password='" & passwordMD5 & "', salt='" & salt & "'" &_
"WHERE id=" & id
Conn1.Execute(sqlresetpassword)
RS.Movenext
Loop
RS.Close
Conn1.Close
Set RS = Nothing
Set Conn1 = Nothing
%>