9 messaggi dal 02 ottobre 2012
Ciao a tutti.
Volevo chiedervi, per cortesia, se esiste la possibilità di generare l'impronta HASH SHA 256 di un file in asp classic.
Grazie a tutti.
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
immagino che sia possibile, prova ad usare questo script.
http://www.freevbcode.com/ShowCode.asp?ID=2565

Dovrai sperimentare con la funzione SHA256 che trovi nello script. Il contenuto del file lo puoi leggere con l'oggetto ADODB.Stream. A occhio mi sembra che la funzione SHA256 accetti un parametro stringa, quindi potrebbe tornarti utile il metodo ReadText dello stream.

In alternativa puoi provare a leggere il contenuto del file con FileSystemObject, come vedi in questo articolo.
http://www.aspitalia.com/script/407/Unalternativa-Uso-Stream-Lettura-File-Binari-TextStream-FSO.aspx

Per testare la correttezza della tua implementazione, puoi confrontare il tuo hash con quello che ti restituisce questo hash calculator.

ciao

Enjoy learning and just keep making
5 messaggi dal 21 ottobre 2015
Ecco la funzione che cerchi:

<% ' IMPORTANT: save this file as UTF-8 BOM !!!

function sha256(ByVal input)
  Dim hAlg, hEnc, BinaryStream
  Set hAlg=CreateObject("System.Security.Cryptography.SHA256Managed")
  Set hEnc=CreateObject("System.Text.UTF8Encoding")  
  input=hAlg.ComputeHash_2(hEnc.GetBytes_4(input))
  ' --------- security check ----------
  if NOT varType(input) = 8209 then
        Set BinaryStream = CreateObject("ADODB.Stream")
    with BinaryStream
      .Type = 2
      .CharSet = "utf-8"
      .Open
      .WriteText input
      .Position = 0
      .Type = 1
      .Position = 0
      input = .Read
    end with  
    Set BinaryStream = Nothing
  end if
  ' ----------------------------------
  Set enc=CreateObject("MSXML2.DomDocument").CreateElement("encode")
  enc.dataType="bin.hex"
  enc.nodeTypedValue=input
  sha256=enc.Text  
  set hEnc=nothing
  set hAlg=nothing
end function

%>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.