Cette section est close pour le moment.
Mais je n'arrête pas la veille, loin de là. Retrouvez mes projets sur Github et sur cette page qui sera à jour plus régulierement


Ressources

Définition de ressource : (nom féminin) Qui peut fournir ce dont on a besoin.
Vous l'aurez compris, sur cette page ce ne sont pas vraiment des tutoriels, c'est plutôt des penses-bêtes plus ou moins fournis mais qui vous permettront d'avoir des bases concernant la programmation.
Recherche par tag

Crypter et décrypter une chaîne de caractères

Crypter et décrypter une chaîne de caractères
Publication : Le 30/09/2012 à 09:08:38

Introduction

Protégez vos données sensibles ! Que ça soit un mot de passe dans une base de données ou le contenu d'un cookie, cryptez les pour qu'elles ne soit pas accessibles en clair.

Vous sécuriserez ainsi votre application, mais aussi la vie privé de vos clients.

Comment ça marche ?

Grâce aux fonctions md5 & base64 nous allons crypter notre donnée.

La fonction md5 une fonction de hachage cryptographique qui va permettre d'obtenir l'empreinte numérique d'un fichier. La fonction base64 est un codage de l'information utilisant 64 caractères.

Le cryptage va se faire selon une clé (une sorte de "mot de passe") qui va nous permettre de coder et décoder l'information.
<?php
        // Paramétrage
        $private_key = 'secret_private_key';

        // Cryptage de la donnée
        $retour = f_crypt($private_key, 'mon_mot_de_passe');
        echo $retour; // Retourne la valeur crypter

        // Décryptage de la donnée
        echo f_decrypt($private_key, $retour);
?>

Crypter

Ma fonction de cryptage, on passe la clé secrète et la donnée à coder :
<?php
function f_crypt($private_key, $str_to_crypt) {
	$private_key = md5($private_key);
	$letter = -1;
	$new_str = '';
	$strlen = strlen($str_to_crypt);

	for ($i = 0; $i < $strlen; $i++) {
		$letter++;
		if ($letter > 31) {
			$letter = 0;
		}
		$neword = ord($str_to_crypt{$i}) + ord($private_key{$letter});
		if ($neword > 255) {
			$neword -= 256;
		}
		$new_str .= chr($neword);
	}
	return base64_encode($new_str);
}
?>

Décrypter

Et la fonction de décryptage, qui prends la clé et la donnée cryptée :
<?php
function f_decrypt($private_key, $str_to_decrypt) {
	$private_key = md5($private_key);
	$letter = -1;
	$new_str = '';
	$str_to_decrypt = base64_decode($str_to_decrypt);
	$strlen = strlen($str_to_decrypt);
	for ($i = 0; $i < $strlen; $i++) {
		$letter++;
		if ($letter > 31) {
			$letter = 0;
		}
		$neword = ord($str_to_decrypt{$i}) - ord($private_key{$letter});
		if ($neword < 1) {
			$neword += 256;
		}
		$new_str .= chr($neword);
	}
	return $new_str;
}
?>

Conclusion

Nous voici donc capable de coder et décoder une variable afin de sécuriser notre application.

Sur le même thème

Crypter et décrypter une chaîne de caractères
Publication : Le 30/09/2012 à 09:08:38

Tags

Tags : tutoriel / sécurité / PHP

Suggestion :

Gestion des fichiers XML

Gestion des fichiers XML