---
title: "Login med md5()"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15321-login-med-md5"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Chavez"
published: "2001-02-13T16:37:00.000Z"
updated: "2001-03-01T14:22:00.000Z"
replies: 13
views: 205
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/15321-login-med-md5"
---

# Login med md5()

## #1 — Chavez, 2001-02-13T16:37Z

Jag har suttit och funderat på hur man skall göra för att skapa ett loginsystem som är någorlunda säkert. 
Som det är nu så kolla jag bara om en viss cookie är satt och vilket värde som den har (värdet är användarnamnet). 
Detta är ju inte alls säkert eftersom man ganska enkelt kan "konstruera" denna cookie. 

Jag skulle vilja använda mig av md5() eller någon annan sådan funktion för att skapa ett system som var lite mer säkert.
Har läst igenom lite om md5() (bla på PHPBuilder) men har inte hittat något riktigt konkret på hur ett sådant loginsystem skulle kunna se ut. 
Så om någon har något system som fungerar såhär, skulle inte ni kunna posta koden för det? Eller åtminstone så mycket kod så att jag fattar resten själv ;)

Permalänk: https://www.webforum.nu/p/15321

## #2 — Batboy, 2001-02-13T17:49Z

PHP Mini Auth är lätt att använda och det bygger på md5.
 <http://www.hotscripts.com/Detailed/4219.html> 

/j

Permalänk: https://www.webforum.nu/p/317414

## #3 — Chavez, 2001-02-13T19:49Z

Fick detta felet när jag skulle öppna zippfilen: Error reading header after processing 0 entries. 

Testade att ladda ned den på nytt. Men samma fel. Du har den inte upplagd någon annan stans?

Permalänk: https://www.webforum.nu/p/317415

## #4 — Batboy, 2001-02-13T20:40Z

Prova [www.batboy.net/youck/phpminiauth_0.01.tar.gz](http://www.batboy.net/youck/phpminiauth_0.01.tar.gz) 

/j

Permalänk: https://www.webforum.nu/p/317416

## #5 — Chavez, 2001-02-14T18:16Z

Det fungerade bättre. Tack så mycket! Skall utforska koden och se om det kan vara något för mig.

Permalänk: https://www.webforum.nu/p/317417

## #6 — Chavez, 2001-02-21T19:33Z

Hmm, har inte orkat ta tag i det. Men idag så försökte jag börja och kolla över vad det är för något. 

Fyllde databasen med strukturen. Men sedan när jag skulle fylla den med en användare så blev det stopp. 
För gjorde jag det direkt i mysql med denna raden: 

```
INSERT INTO acl ( username, password ) VALUES ( 'chavez', encrypt('lösenordet','chavez') );
```

Det gick inte, fick detta felet i mysql: 

> Error 1048 at line 1: Column password can not be null

Varför får man detta felet? Borde man ju inte få. Men men, försökte att göra det med ett PHP script istället, med denna koden:

```
<?php

$db = mysql_connect(localhost,root) or die ("Något gick fel vid koppling till databasen");
$vald = mysql_select_db(gtv2,$db) or die ("Något gick fel när databasen skulle väljas ut");

$laggtill = mysql_query("INSERT INTO acl ( username, password ) VALUES ( 'chavez', encrypt('lösenordet','chavez')");

if ($laggtill){
echo "Det funkade nog";
}else{
echo "Det funkade nog inte";
}
?>
```

Men det funkade inte det heller (fick utskriften "Det funkade nog inte"). 
Varför fungerar det inte som det ska?

Observera att denna frågan egentligen inte har så mycket med just dessa scripten att göra, så ni kan svara även om ni inte vet vad detta lilla auth system är för något.

Permalänk: https://www.webforum.nu/p/317418

## #7 — Batboy, 2001-02-21T21:42Z

Hmm..

Om du skriver INSERT INTO acl SET username = 'chavez', password = encrypt('lösenordet','chavez'); istället så fungerar det. Varför det är så vet jag inte riktigt.

/j

Permalänk: https://www.webforum.nu/p/317419

## #8 — Chavez, 2001-02-21T21:54Z

Funkade inte det heller. Det känns som om encrypt inte rikigt vill :)

Permalänk: https://www.webforum.nu/p/317420

## #9 — Batboy, 2001-02-21T21:54Z

Vänta.. nu ser jag, du har glömt en avslutande parantes i ditt script.

$laggtill = mysql_query("INSERT INTO acl ( username, password ) VALUES ( 'chavez', encrypt('lösenordet','chavez')**)**");

/j

Permalänk: https://www.webforum.nu/p/317421

## #10 — Chavez, 2001-02-22T10:25Z

r: Hmm, detta är kanske inte en PHP funktion :q :)

Fortfarande inte rätt. Men det verkar som om encrypt inte fungerar överhuvudtaget. Denna koden: 

```
$krypterad = encrypt('lösenordet','chavez');
```

ger detta felet: 

> Fatal error: Call to undefined function: encrypt() in C:\\Inetpub\\wwwroot/test2.php on line 2

Fungerar inte den funktionen på min härliga w2k burk?

Permalänk: https://www.webforum.nu/p/317422

## #11 — spango, 2001-02-22T18:14Z

Trista nyheter...

> **ENCRYPT(str\[,salt\])** 
> Encrypt str using the UNIX crypt() system call. The salt argument should be a string with two characters. (As of MySQL 3.22.16, salt may be longer than two characters.): 
> \[...\]
> If crypt() is not available on your system, ENCRYPT() always returns NULL. ENCRYPT() ignores all but the first 8 characters of str, at least on some systems. This will be determined by the behavior of the underlying crypt() system call.

Det tycks finnas både ett och två sätt att kryptera strängar på, dock.
 <http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Miscellaneous_functions>

Permalänk: https://www.webforum.nu/p/317423

## #12 — Chavez, 2001-02-22T19:26Z

Med Unix, menar de just Unix. Eller tror ni att det fungerar på en Linuxburk?

Permalänk: https://www.webforum.nu/p/317424

## #13 — spango, 2001-02-23T11:28Z

Linux *är* UNIX. Det finns inget "100% UNIX", utan en massa dialekter.
Så ja, det borde funka...

Permalänk: https://www.webforum.nu/p/317425

## #14 — toldo, 2001-03-01T14:22Z

funktion som du ska använda funkar så här: md5('lösenordet');

Permalänk: https://www.webforum.nu/p/317426

---

Tråden på webben: https://www.webforum.nu/amne/php/15321-login-med-md5
