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.