php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2009, 23:55  
Registrierer
Gast
 
Beiträge: n/a
Standard Sonderzeichen nach Benutzung von mcrypt()

PHP-Code:
<?
$key 
"65l912ksi7u6t76tGRFR88if";
$input 'Geheim';
$encrypted_data mcrypt_ecb (MCRYPT_3DES$key$inputMCRYPT_ENCRYPT);
$verschluesselt=$encrypted_data;
$decrypted_data mcrypt_ecb (MCRYPT_3DES$key$verschluesseltMCRYPT_DECRYPT);
echo 
$decrypted_data;
?>
Die Ausgabe ist:
Geheim��

Nun habe ich bis jetzt mit
html_entity_decode(), htmlspecialchars() und verschieden Zeichensätzen experimentiert, leider ohne Erfolg.

Wo kommen diese Zeichen (��)her?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.09.2009, 00:04  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Bei den verschlüsselungen kommen binär-strings raus und für die zeichen gibt es natürlich keine ascii-repräsentaiton.

wenn du was mit buchstaben, zahlen und normalen sonderzeichen willst versuchs mal mit base64_encode() auf den verschlüsselten string, das wird auch bei dateianhängen verwendet, dadurch wird der string allerdings unter umständen auch etwas länger siehe manual.
robo47 ist offline  
Alt 05.09.2009, 00:09  
Registrierer
Gast
 
Beiträge: n/a
Standard

Vielen Dank, das war es schon.

PHP-Code:
<?
$key 
"65l912ksi7u6t76tGRFR88if";
$input base64_encode('Geheim');
$encrypted_data mcrypt_ecb (MCRYPT_3DES$key$inputMCRYPT_ENCRYPT);
echo 
$encrypted_data."<br>";
$verschluesselt=$encrypted_data;
$decrypted_data mcrypt_ecb (MCRYPT_3DES$key$verschluesseltMCRYPT_DECRYPT);
echo 
base64_decode($decrypted_data);
?>
 
Alt 05.09.2009, 08:55  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

denk dran es kann bei base64 auch = vorkommen, nicht nur buchstaben und zahlen, falls das für dich nen unterschied macht.
robo47 ist offline  
Alt 05.09.2009, 11:32  
Registrierer
Gast
 
Beiträge: n/a
Standard

Moin, das hab ich zwar gesehen, dem aber keine Bedeutung beigemessen.
Worin besteht da Gefahr?
 
Alt 05.09.2009, 11:57  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Wollte ich nur erwähnen.
robo47 ist offline  
Alt 05.09.2009, 12:51  
Registrierer
Gast
 
Beiträge: n/a
Standard

Hier mal meine fertige Lösung:

Die Dateien liegen in einem durch htacces geschützten Verzeichnis, welches nur per SSL (HTTPS) erreichbar ist.

Einfügen des verschlüsselten PW's:
PHP-Code:
<?php
$key      
"obergeheimerschluessel";
$passwort "passwort";

$phrase mcrypt_ecb (MCRYPT_3DES$keybase64_encode($key), MCRYPT_ENCRYPT);
$encrypted_data mcrypt_ecb (MCRYPT_3DES$keybase64_encode($passwort), MCRYPT_ENCRYPT);

include (
"dbverbindung.php");
mysql_query("INSERT INTO passworttabelle (id,passwort,pass)
VALUES('','"
.base64_encode($encrypted_data)."','".base64_encode($phrase)."')");
?>
Auslesen der DB
PHP-Code:
<?php
$key 
"obergeheimerschluessel";

include (
"dbverbindung.php");
$schluessel base64_encode(mcrypt_ecb (MCRYPT_3DES$keybase64_encode($key), MCRYPT_ENCRYPT));

$pw=mysql_query("SELECT * FROM passworttabelle WHERE pass='".$schluessel."'");

while(
$row=mysql_fetch_array($pw))  {
 echo 
base64_decode(mcrypt_ecb (MCRYPT_3DES$keybase64_decode($row["passwort"]), MCRYPT_DECRYPT));
}
?>
In der Tabelle selbst ist also der Schlüssel selbst nochmal hinterlegt, ohne den die Tabelle nicht ausgelesen werden kann.

- htaccess
- SSL
- Daten sind komplett verschlüsselt in DB gespeichert
- Schlüssel zur Decodierung ist in jedem Datensatz hinterlegt und wird abgefragt um den Datensatz zu entschlüsseln
- keine Zwischenspeicherung von Daten (Kekse, Sitzungen)


Ich hätte gern eine Meinung von Euch, ob hier mit den zur Verfügung stehenden Mitteln größtmögliche Sicherheit gewährleistet ist, oder ob ich etwas vergessen habe?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Umlaute und Sonderzeichen decodieren Sermon PHP Tipps 2009 9 27.03.2009 08:18
php5-gd - Text auf Bild - Sonderzeichen? dark alex PHP Tipps 2009 4 27.02.2009 04:25
Probleme mit Sonderzeichen bei Ajax (prototype)... go1denboy JavaScript, Ajax und mehr 1 31.08.2008 18:44
Ajax und Sonderzeichen? GSJLink HTML, Usability und Barrierefreiheit 1 11.11.2006 14:36
Die Sache mit den Sonderzeichen nach und vor Formularprüfung TailerD PHP Tipps 2006 12 02.06.2006 12:58
Wikipedia, Sonderzeichen und file_get_contents(); pb PHP Tipps 2006 2 20.01.2006 20:02
[Erledigt] Problem mit Sonderzeichen PHP -&gt; MySQL -&gt; HTML PHP Tipps 2007 18 07.12.2005 15:23
Liste nach Buchstaben und Sonderzeichen (!) sortiert odaa PHP-Fortgeschrittene 8 11.10.2005 16:26
[Erledigt] Sonderzeichen: &amp;#8805; Datenbanken 2 19.09.2005 16:54
Sonderzeichen aus einem großen Text entfernen PHP Tipps 2005 4 25.04.2005 16:51
Sonderzeichen in der Tabelle Mutatos Datenbanken 4 17.03.2005 15:28
Sonderzeichen verbieten PHP Tipps 2005 16 28.02.2005 08:36
mit html sonderzeichen sortieren Datenbanken 3 16.02.2005 15:25
Sonderzeichen über $_GET Calexico PHP Tipps 2005 1 10.02.2005 17:40
[Erledigt] sonderzeichen im browser? PHP-Fortgeschrittene 1 12.10.2004 14:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sonderzeichen schlüssel, php mcrypt, mcrypt ohne sonderzeichen, mcrypt sonderzeichen, base64_encode umlaute, mcrypt zeichensatz, base64_decode umlaute, http://www.php.de/php-einsteiger/58756-sonderzeichen-nach-benutzung-von-mcrypt.html, php mcrypt_3des, mcrypt umlaute, php mcrypt sonderzeichen, umlaute base64_encode, mcrypt_decrypt sonderzeichen, mcrypt_encrypt, mcrypt keine sonderzeichen, mcrypt zeichen, mcrypt url, php base64_encode umlaute, php base64_encode passwort, mcrypt_encrypt php

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum