Correspondance de cryptage de mot de passe ASP/PHP

Utilisateur anonyme - 6 août 2016 à 15:08 - Dernière réponse :  Utilisateur anonyme
- 8 août 2016 à 12:21
Bonjour à tous,
Je suis entrain de traduire un site qui a été développé en ASP vers PHP. Une base de données existe déjà avec l'ancien site. Dans la base j'ai une table client avec des mots de passe encryptés avec une fonction ASP. J'aimerais utiliser ces mots de passe sur le nouveau site en PHP. Dois-je modifier tous les mots de passe clients pour les utiliser sur le nouveau site php ? Existe-t-il un moyen de changer la clé de cryptage actuelle ASP pour PHP ? Ou tout autre moyen sans devoir modifier tous les mots de passe clients ? Est-ce que quelqu'un a déjà rencontré ce genre de problème ? Toute aide est la bienvenue.
Merci par avance !
Afficher la suite 

7 réponses

Répondre au sujet
NHenry 14129 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 6 août 2016 à 15:17
0
Utile
Si le site a été un peu bien fait, il ne s'agit pas de chiffrement, mais de hashage, donc pas de retour possible.

Il y a 2 méthode :
- Soit tu refais le même hashage qu'en ASP (là il faut savoir comment c'était fait)
- Soit tu reset tout les MDP et les utilisateurs doivent les redéfinir.

Attention, un minimum de protection réside dans le fait de "saler" le hash, sinon, ça se réverse très facilement via des sites spécialisés.
Commenter la réponse de NHenry
Utilisateur anonyme - 6 août 2016 à 16:11
0
Utile
1
Bonjour @NHenry,

Merci d'avoir le temps de me répondre.
Je préfère la première méthode. Mais je ne maîtrise pas assez le langage ASP. Est-ce possible que je te montre la clé de cryptage ASP pour le faire en PHP ?

Merci
NHenry 14129 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 6 août 2016 à 20:39
Peut être, mais en général, écrire en français comment ça a été fait ça aide à comprendre.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 7 août 2016 à 00:36
0
Utile
Je t'enverrai le code et t'expliquer comment ça a été fait.
Commenter la réponse de Utilisateur anonyme
0
Utile
1
ReBonjour @NHenry,

Je te mets ci-dessous les fonctions qui permettent d'encrypter les mots de passe :


sPlain = "0000000000000000"

g_CryptThis = sPlain
Const g_KeyLocation = "/code.txt"
Dim g_Key
g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(g_CryptThis))

Function ReadKeyFromFile(strFileName)
Dim keyFile, fso, f
set fso = Server.CreateObject("Scripting.FileSystemObject")
set f = fso.GetFile(strFileName)
set ts = f.OpenAsTextStream(1, -2)
Do While not ts.AtEndOfStream
keyFile = keyFile & ts.ReadLine
Loop
ReadKeyFromFile = keyFile
End Function

sPassword = g_Key

MyEncrypt(sPlain, sPassword)

Public Function MyEncrypt(sPlain, sPassword)
Dim bytIn()
Dim bytPassword()
Dim lLength
Dim lCount
Dim sTemp

lLength = Len(sPlain)
ReDim bytIn(lLength-1)
For lCount = 1 To lLength
bytIn(lCount-1)=CByte(AscB(Mid(sPlain,lCount,1)))
Next

lLength = Len(sPassword)
ReDim bytPassword(lLength-1)
For lCount = 1 To lLength
bytPassword(lCount-1)=CByte(AscB(Mid(sPassword,lCount,1)))
Next

bytOut = EncryptData(bytIn, bytPassword)

sTemp = ""
For lCount = 0 To UBound(bytOut)
sTemp = sTemp & Right("0" & Hex(bytOut(lCount)), 2)
Next
MyEncrypt = sTemp
End Function


// fichier code.txt

Supprimé pour raison de sécurité

Cdlt,
NHenry 14129 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 8 août 2016 à 11:51
Bien que tu n'ai pas posté le code de "EncryptData", je suspecte que ce soit un chiffrement de type Vigénère ou XOR, soit 2 méthodes aisément réversibles et hautement déconseillées pour le stockage de mot de passe.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 8 août 2016 à 12:21
0
Utile
C'est comme ça que ça a été et J'ai trouvé le code tel quel. Il est utilisé depuis des années. Je ne peux pas le changer tout de suite.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.