Avatar billede rwj Juniormester
22. november 2020 - 14:12 Der er 6 kommentarer og
1 løsning

Overføre adgangskode til ny kolonne med m5 password

Min haveforening har en tabel mysql med brugere og kollonner; bruger_id og adgangskode. Adgangskode er helt almindelig og synlig for alle som har adgang til databasen.

Jeg har oprettet en ny kolonne i tabellen som hedder password, hvor tidligere adgangskode skal overføres til, dog denne gang med M5 kryptering, således jeg kun behøver skifte login kode fra adgangskode til password, og herefter kan medlemmer så login præcis som de plejer, men nu mere sikkert.

Det er ikke lykkedes at finde en løsning via google, nok fordi jeg er ny i php, men har nogle af eksperterne et script eller råd som kan bruges?
Avatar billede olsensweb.dk Ekspert
22. november 2020 - 15:17 #1
se
http://www.udvikleren.dk/forum/47211/kryptere-passwords-i-eksisterende-database/
indlæg 29.07.17 15:00


mb lad være med at bruge md5, den er brugt forlænge siden
Avatar billede arne_v Ekspert
22. november 2020 - 15:56 #2
Helt enig.

Du skal bruge  salt, saa du skal enten have en salt kolonne eller gemme salt som prefix i password kolonnen.

MD5 er ikke god. SHA-512 med mange iterationer - eller en speciel algoritme som PBKDF2 eller Argon2 (PHP password_hash kan bruge Argon2).
Avatar billede rwj Juniormester
22. november 2020 - 17:00 #3
Olsensweb.

Tak for svar og link, det ser rigtigt interessant ud, og med den fyldestgørende forklaring der følger med det, burde jeg kunne finde ud af det.

arne_v

Tak for svar og din support til Olsens svar, som jeg markerer som en løsning.

Fortsat god aften til begge
Avatar billede arne_v Ekspert
22. november 2020 - 20:36 #4
Konverteringen plaintext til hash er nem fordi man har password og kan lave en konvertering.

Det er mere tricky med konvertering fra en hash algoritme til en anden hash algoritme.

Og du kan faktisk forbrede den situation lidt ved at have en kolonne med hash algoritme eller ogsaa at have hash algoritme som prefix. Nogle biblioteker putter helt automatisk salt, algoritme og antal iterationer i hash output - jeg kan ikke huske om PHP password_hash goer det..
Avatar billede olsensweb.dk Ekspert
23. november 2020 - 08:33 #5
#4
>Nogle biblioteker putter helt automatisk salt, algoritme og antal iterationer i hash output
det gør bla. password-hash

ref https://www.php.net/manual/en/function.password-hash.php
The following algorithms are currently supported:

PASSWORD_DEFAULT - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is designed to change over time as new and stronger algorithms are added to PHP. For that reason, the length of the result from using this identifier can change over time. Therefore, it is recommended to store the result in a database column that can expand beyond 60 characters (255 characters would be a good choice).
PASSWORD_BCRYPT - Use the CRYPT_BLOWFISH algorithm to create the hash. This will produce a standard crypt() compatible hash using the "$2y$" identifier. The result will always be a 60 character string, or FALSE on failure.
PASSWORD_ARGON2I - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.
PASSWORD_ARGON2ID - Use the Argon2id hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.


Supported options for PASSWORD_BCRYPT:

salt (string) - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated.

If omitted, a random salt will be generated by password_hash() for each password hashed. This is the intended mode of operation.

Warning
The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt that is generated by default.


så hvis man ikke angiver en salt bliver der automatisk generaret en random salt
Avatar billede rwj Juniormester
23. november 2020 - 08:33 #6
arne_v

Tak for information, det lyder interessant. Link som Olsenweb henviste til, har jeg brugt, og fået konverteret de almindelige adgangskode om til krypteret password.

Mange tak for hjælpen.
Avatar billede rwj Juniormester
23. november 2020 - 08:57 #7
Olsenweb.dk

Tak for yderligere information, det ser ud til, at du har ført mig på rette spor. Det er lykkedes mig at få konverteret tidligere adgangskode om til password, kryptereret med hash, så tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester