extended encryption + exists function

Door Iltar van der berg, 15 jaar geleden, 2.174x bekeken

Ik heb voor de handigheid even mijn exists() erbij gezet. Deze doet simpel het betere van isset.

Voor de rest heb ik erbij : encrypt()
Deze creert een substr van het begin + eind van een string, md5ed een string, en plakt vervolgens het begin en het eind er weer achter.

Te gebruiken als md5(string)
dus:
encrypt($string)

Deze zal een error triggeren als er iets mis is (dus eigenlijk nooit, maar het is wel netjes...)

Gesponsorde koppelingen

PHP script bestanden

  1. extended-encryption-exists-function

 

Er zijn 9 reacties op 'Extended encryption exists function'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Winston Smith
Winston Smith
15 jaar geleden
 
0 +1 -0 -1
Mooi gescript in ieder geval, prima gebruik gemaakt van inspringen en daardoor erg overzichtelijk. :)

Ik snap de toevoeging van exists() niet helemaal, aangezien je die niet gebruikt in encrypt(), terwijl je wel de body van exists() in encrypt() gebruikt (if(isset($input) && $input != '')).
Verder is het length, en niet lenght. :P

Tenslotte, als ik het goed begrijp plak je een gedeelte van het wachtwoord voor de md5 string, en een gedeelte erachter. Je krijgt dan zoiets als wach2312sjhad21(.*)sda1231oord? Mocht dat zo zijn, dan kan iemand natuurlijk raden wat het oorspronkelijke wachtwoord is, door de weggevallen letters in te vullen (als die al zijn weggevallen?). Ik denk dat het daarom beter is om $salt_start en $salt_end ook te encrypten, en die samen te plakken (en evt. daarna nog een keer md5() of - beter - sha1() eroverheen gooien). Op zich wel goed bedacht om een gedeelte van het wachtwoord als salt te gebruiken. :)
Iltar van der berg
iltar van der berg
15 jaar geleden
 
0 +1 -0 -1
Zal ik even doen :)

Je krijgt dus met de oude:

input: "gebruikersnaam"

gebru(md5 gedeelte van gebruikersnaam, van de complete scring)aam


De toevoeging van het exists() is dat je niet meer
if(isset($string) && $string != '')
hoeft te doen, maar gewoon
if(exists($string))
Winston Smith
Winston Smith
15 jaar geleden
 
0 +1 -0 -1
Ok, dan klopte mijn idee dus toch. In dat geval lijkt het me zeker veiliger om $salt_start en $salt_end te hashen, aangezien sommige woorden erg makkelijk te raden zijn (gebru(...)aam is er zo een, maar je kan ook denken aan combinaties van voor- en achternaam, huisdieren of standaardwoorden als wasmachine, ruitenwisser etc.). Het is dan het veiligst wanneer het ingevoerde wachtwoord ook een (ogenschijnlijk) zinloze combinatie van letters en cijfers (en evt. andere tekens, maar in dit geval liever niet) is, maar helaas is dat nog lang niet altijd het geval.

Ik snapte de bedoeling van exists(), maar je gebruikte hem niet in encrypt(). Vandaar dat ik me afvroeg waarom hij nodig was (en of je dan niet beter een nieuw script ervoor had kunnen plaatsen, in plaats van 2 'scripts' bij elkaar te doen).
Iltar van der berg
iltar van der berg
15 jaar geleden
 
0 +1 -0 -1
Een nieuw script niet nodig, ik vind dat het in php6 moet komen als standaard functie...
Jelmer -
Jelmer -
15 jaar geleden
 
0 +1 -0 -1
wat is er mis met empty? Doet exact hetzelfde, behalve dat de waarde (true/false) zijn omgekeerd.
Jens V
Jens V
15 jaar geleden
 
0 +1 -0 -1
Is echt wel een mooi scriptje, zelf nog nooit aan gedacht:D


15 jaar geleden
 
0 +1 -0 -1
exist lijkt me het zelfde als empty. Maar volgens mij kan exist in de huidige vorm niet werken omdat $input altijd bestaat (is een paramter van een functie). Er zal dus een Notice worden gegenereerd op het moment van aanroepen van exist met een niet bestaande variabel.
Iltar van der berg
iltar van der berg
15 jaar geleden
 
0 +1 -0 -1
isset kijkt simpel of het bestaat en de volgende ($input !='') is gelijk aan !empty($input).

Het feit is dat je isset moet gebruiken om die notice weg te krijgen (undefined index etc), en je ook altijd moet kijken of de string niet leeg is.
Daarom staat het nu in 1.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Kees Schepers
kees Schepers
15 jaar geleden
 
0 +1 -0 -1
Simpelere versie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function exists($input) {
  return (isset($input) && !empty($input));
}

?>

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. extended-encryption-exists-function

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.