Bonjour à tous, voilà je fait un petit logiciel ou je fait une inscription dessus, et les gens ce plaignais que le mot de passe enregistré sur leurs ordinateur n'étais pas crypter.
Alors là j'ai commencer à le refaire en cryptant le mot de passe, sauf que quand j'ai trouvé là class sur internet il y avais le cryptage suivis du décryptage.
Et sauf que là je doit les utilisé à part j'ai essayer de coupé là class, mais impossible de décrypter un "string" je suis débutant donc je n'arrive pas à comprendre comment faire pour mettre le "string" en "byte" pour pouvoir le décrypter.
Car là en faite il crypte le code déjà crypter pour ensuite le décrypter (en claire ça sert à rien), je penser à faire deux décryptage après le cryptage, mais je n'arrive pas !
Class Decryptor:
Imports System
Imports System.Security.Cryptography
Imports System.Text
Class Decryptor
Private Shared quote As String = Form1.TextBox3.Text
Public Shared Sub Main()
Dim aesCSP As New AesCryptoServiceProvider()
aesCSP.GenerateKey()
aesCSP.GenerateIV()
Dim encQuote() As Byte = EncryptString(aesCSP, quote)
Form1.ListBox3.Items.Add(DecryptBytes(aesCSP, encQuote))
End Sub
Public Shared Function EncryptString(ByVal symAlg As SymmetricAlgorithm, ByVal inString As String) As Byte()
Dim inBlock() As Byte = UnicodeEncoding.Unicode.GetBytes(inString)
Dim xfrm As ICryptoTransform = symAlg.CreateEncryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBlock, 0, inBlock.Length)
Return outBlock
End Function
Public Shared Function DecryptBytes(ByVal symAlg As SymmetricAlgorithm, ByVal inBytes() As Byte) As String
Dim xfrm As ICryptoTransform = symAlg.CreateDecryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBytes, 0, inBytes.Length)
Return UnicodeEncoding.Unicode.GetString(outBlock)
End Function
End Class
Class Encryptor
Imports System
Imports System.Security.Cryptography
Imports System.Text
Class Encryptor
Private Shared quote As String = Form1.TextBox3.Text
Public Shared Sub Main()
Dim aesCSP As New AesCryptoServiceProvider()
aesCSP.GenerateKey()
aesCSP.GenerateIV()
Dim encQuote() As Byte = EncryptString(aesCSP, quote)
Form1.ListBox2.Items.Add(Convert.ToBase64String(encQuote))
End Sub
Public Shared Function EncryptString(ByVal symAlg As SymmetricAlgorithm, ByVal inString As String) As Byte()
Dim inBlock() As Byte = UnicodeEncoding.Unicode.GetBytes(inString)
Dim xfrm As ICryptoTransform = symAlg.CreateEncryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBlock, 0, inBlock.Length)
Return outBlock
End Function
End Class
Merci d'avance 1h que je cherche et que je n'arrive pas à trouvé comment décrypter un string ...
Edit:
test = 78TDZ59WL5nZdfCmXYE1AA==
Si je fait ça:
Imports System
Imports System.Security.Cryptography
Imports System.Text
Class Decryptor
Private Shared quote As String = "test"
Public Shared Sub Main()
Dim aesCSP As New AesCryptoServiceProvider()
aesCSP.GenerateKey()
aesCSP.GenerateIV()
Dim encQuote() As Byte = EncryptString(aesCSP, quote)
Form1.ListBox3.Items.Add(DecryptBytes(aesCSP, encQuote))
End Sub
Public Shared Function EncryptString(ByVal symAlg As SymmetricAlgorithm, ByVal inString As String) As Byte()
Dim inBlock() As Byte = UnicodeEncoding.Unicode.GetBytes(inString)
Dim xfrm As ICryptoTransform = symAlg.CreateEncryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBlock, 0, inBlock.Length)
Return outBlock
End Function
Public Shared Function DecryptBytes(ByVal symAlg As SymmetricAlgorithm, ByVal inBytes() As Byte) As String
Dim xfrm As ICryptoTransform = symAlg.CreateDecryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBytes, 0, inBytes.Length)
Return UnicodeEncoding.Unicode.GetString(outBlock)
End Function
End Class
Là ça traduit test en 78TDZ59WL5nZdfCmXYE1AA== puis en test, mais je veux faire ça moi:
Imports System
Imports System.Security.Cryptography
Imports System.Text
Class Decryptor
Private Shared quote As String = "78TDZ59WL5nZdfCmXYE1AA=="
Public Shared Sub Main()
Dim aesCSP As New AesCryptoServiceProvider()
aesCSP.GenerateKey()
aesCSP.GenerateIV()
Form1.ListBox3.Items.Add(DecryptBytes(aesCSP, quote))
End Sub
Public Shared Function DecryptBytes(ByVal symAlg As SymmetricAlgorithm, ByVal inBytes() As Byte) As String
Dim xfrm As ICryptoTransform = symAlg.CreateDecryptor()
Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBytes, 0, inBytes.Length)
Return UnicodeEncoding.Unicode.GetString(outBlock)
End Function
End Class
Mais là ça marche pas car :
Citation : visualbasic
Impossible de convertir une valeur de type 'String' en 'Tableau à 1 dimension(s) de Byte'.
Fréquemment à la recherche de petits projets n'hésitez pas à me contacter pour des projets : Web & Web Mobile ou logiciel (C#)
Je suis ouvert aux autres propositions, selon ce qu'est le projet et le temps qu'il demande..
Ouai mais j'ai rien compris à ce code, mais c'est pas grave, j'ai fait plus simple j'ai fait que ça mais le string en acsii beaucoup plus simple.
Sa le mais en acsii, et le remais en acsii, comme ça ça deviens moins logique pour les gens car si y font plusieurs comptes avec a,b,c,d,e etc y ont tous l'alphabet pour le décrypter.
là ab sera différent que a + b vue que ça crypte 2 fois en acsii
Donc voilà très simple et rapide juste en 2 fonction de 5 lignes chacun.
Fréquemment à la recherche de petits projets n'hésitez pas à me contacter pour des projets : Web & Web Mobile ou logiciel (C#)
Je suis ouvert aux autres propositions, selon ce qu'est le projet et le temps qu'il demande..
Tu as lu un peu ce que j'ai dis ou pas en fait?
Car je te dis que c'est normal qu'il fasse :
Impossible de convertir une valeur de type 'String' en 'Tableau à 1 dimension(s) de Byte'.
Ta fonction de décryptage te demande un tableau de Byte en entrée et ce que tu lui envois c'est quote qui est un String.
C'est logique qu'il râle quand même non?
Bon sans ton lire ton problème, je précise que tu n'as pas besoin du décryptage pour l'histoire des mots de passe:
1- l'utilisateur crée un mot de passe (mdp), ton programme le crypte (mdp_cr) puis l'enregistre
2- quand l'utilisateur veut se connecter, il indique son mot de passe(mdp1) et ton programme le crypte(mdp1_cr) et compare le résultat crypté avec le mot de passe crypté qui a été enregistré (mdp1_cr == mdp_cr) ...
** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
Décrypter un code crypter
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Fréquemment à la recherche de petits projets n'hésitez pas à me contacter pour des projets : Web & Web Mobile ou logiciel (C#)
Je suis ouvert aux autres propositions, selon ce qu'est le projet et le temps qu'il demande..
Fréquemment à la recherche de petits projets n'hésitez pas à me contacter pour des projets : Web & Web Mobile ou logiciel (C#)
Je suis ouvert aux autres propositions, selon ce qu'est le projet et le temps qu'il demande..