Pues bien, creo un nuevo proyecto de Biblioteca de clases llamado "Cifrados". Añado una nueva clase y escribo el siguiente código:
Código:
Lo compilo y en un proyecto web ASP.Net lo pruebo de la siguiente manera. Agrego la referencia a Cifrados.dll y escribo lo siguiente:Imports System.Security.Cryptography
Public Class CifSha1
Public Function Cifrar(ByVal Cadena As String) As String
Dim CadenaEnBytes As Byte()
Dim HashEnBytes As Byte() 'Resultado en Bytes
Dim HashCadena As String 'Resultado de HASH
Dim Sha1 As New SHA1CryptoServiceProvider
CadenaEnBytes = System.Text.Encoding.ASCII.GetBytes(Cadena)
HashEnBytes = Sha1.ComputeHash(CadenaEnBytes)
HashCadena = System.Text.Encoding.ASCII.GetString(HashEnBytes)
Return "SHA1: " & HashCadena
End Function
End Class
Código:
El resultado de la página es:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sha1 As New Cifrados.CifSha1
Response.Write(sha1.Cifrar("contraseñaParaSerCifrada"))
End Sub
Código:
Lo que no coincide con el cifrado, que debería ser: SHA1: (VHrs??h?u? ????w?
Código:
Supongo que será problema de la codificación, pero he probado con ASCII, UTF8, UTF7 y Default obteniendo cosas distintas pero nunca la correcta.SHA1: 47914D69E0FC735EDC76155944F1360167FB82C2
Un saludo.

