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?
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
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).
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
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..
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
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.
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.
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

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





Computerworld
Bitcoinen nåede lige at kulminere igen – men så kom krakket
Der blev sat en ny rekord for bitcoinens værdi i år – men godt 24 timer efter blev der høvlet næsten 20.000 kroner af den.
CIO
Podcast: Her er seks gode råd om ledelse og digitalisering fra danske top-CIO'er
The Digital Edge: Vi har talt med 17 af Danmarks dygtigste digitale ledere - og samlet deres seks bedste råd om digitalisering og ledelse. Få alle rådene på 26 minutter i denne episode af podcasten The Digital Edge.
Job & Karriere
Se Waoos forklaring: Derfor har selskabet fyret topchef Jørgen Stensgaard med omgående virkning
Waaos bestyrelse opsiger fiberselskabets topchef, Jørgen Stensgaard, der fratræder med omgående virkning. Se hele forklaringen fra Waao her.
White paper
Sådan kan du arbejde effektivt uanset tid, sted og type af enhed
Hvad nu hvis dit arbejde, din information, dine processer og teknologien bag ved, var organiseret på en måde så det passede til din organisation – alt sammen guidet af en intelligent udgave af det digitale arbejdsrum? Det er visionen bag Atea og Citrix´s samarbejde med digital workspace – en smartere og mere effektiv måde at arbejde på. I dette whitetpaper kan du derfor læse om, hvordan du kan skabe et mere effektivt og brugervenligt arbejdsrum uanset tid, sted og enhed. En løsning der på en gang er både enkel og som sætter brugeren i centrum.