Browse Source

suppression fichier fabrique et ajout de commentaires

master
root-www 10 months ago
parent
commit
54f91785e3
  1. 40
      chiffrer_fonctions.php
  2. 104
      fabrique_chiffrer.php

40
chiffrer_fonctions.php

@ -13,6 +13,9 @@ if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Créé la clé de chiffrement
*/
function initialiser_cle(){
$fichier_cles = _DIR_ETC."cles.php";
if ( ! file_exists($fichier_cles) ){
@ -21,15 +24,22 @@ function initialiser_cle(){
}
}
/**
* Restaure la clé de chiffrement
*
* @param int $id_auteur
* Identifiant de l'auteur
* @param string $pass
* Mot de passe de l'auteur en clair
* @return void
*/
function restaurer_cle($id_auteur, $pass){
$fichier_cles = _DIR_ETC."cles.php";
if ( ! file_exists($fichier_cles) ){
if ( $cle_secrete_bkp = lire_config("chiffrer_cle_sauvegarde_id_auteur_$id_auteur") ){
$cle_secrete_potentielle = base64_decode(dechiffrer($cle_secrete_bkp, $pass));
$pass_poivre = hash_hmac("sha256", $pass, $cle_secrete_potentielle);
$pass_db = sql_getfetsel('pass', 'spip_auteurs', 'id_auteur='.sql_quote($id_auteur));
$pass_db = sql_getfetsel('pass', 'spip_auteurs', 'id_auteur='.sql_quote($id_auteur));
if ( password_verify($pass_poivre, $pass_db) ){
spip_log("restauration de la cle secrete par id_auteur $id_auteur", _LOG_INFO_IMPORTANTE);
$GLOBALS['cle_secrete'] = $cle_secrete_potentielle;
@ -39,6 +49,18 @@ function restaurer_cle($id_auteur, $pass){
}
}
/**
* Chiffrer
*
* @param string $clair
* Texte à chiffrer
* @param string $cle
* Clé à utiliser
* @param string $cipher
* Cipersuite à utiliser
* @return string
* Texte chiffré
*/
function chiffrer($clair, $cle=false, $cipher="AES-128-CBC"){
$cle = ( $cle ) ? $cle : $GLOBALS['cle_secrete'];
$ivlen = openssl_cipher_iv_length($cipher);
@ -50,6 +72,18 @@ function chiffrer($clair, $cle=false, $cipher="AES-128-CBC"){
return $chiffre;
}
/**
* Dechiffrer
*
* @param string $chiffre
* Texte à déchiffrer
* @param string $cle
* Clé à utiliser
* @param string $cipher
* Cipersuite à utiliser
* @return string
* Texte déchiffré
*/
function dechiffrer($chiffre, $cle=false, $cipher="AES-128-CBC"){
$cle = ( $cle ) ? $cle : $GLOBALS['cle_secrete'];
$c = base64_decode($chiffre);

104
fabrique_chiffrer.php

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save