J'essaie de prendre une image téléchargée, de crypter l'image, de la stocker dans MySQL, puis de la déchiffrer pour l'afficher lorsqu'une personne autorisée demande à la voir.Utiliser PHP pour crypter l'image pour le stocker dans MySQL BLOB puis décrypter et imprimer
Voilà comment je chiffrer actuellement:
$image = addslashes(file_get_contents($_FILES['users_image']['tmp_name']));
$enc_image = encrypt($image, "long secret random key");
Puis-je conserver le $enc_image
dans un champ BLOB MySQL. Lorsque je tente de le déchiffrer et l'imprimer va comme ceci:
$img = decrypt($rec['file'], "long secret random key");
echo '<img src="data:image/jpeg;base64,'.base64_encode($img).'"/>';
J'utilise ce code de this Stackoverflow answer, et je vois le texte de base 64 décryptée, dans ma sortie, mais il n'a pas afficher via HTML. REMARQUE: Ma "clé aléatoire longue" comprend un sel aléatoire aléatoire haché, mais je suis sûr que je suis en train de crypter et de décrypter avec la même chaîne de caractères.
Une idée de ce que cela ne serait pas affiché correctement?
Lorsque je l'enlève, il ne s'introduit même pas correctement dans la base de données. – Bing
Qu'est-ce que le journal des erreurs Apache ou le journal des erreurs BD? Quelle est votre bibliothèque ou méthode de cryptage? –