The following code loops my decryption I have no idea how to decrypt each inner['post_text'].
https://gyazo.com/672cd615b86b3c107da7e2c386d3b2f9
if (!empty($_SESSION['room_id'])) {
$getPosts = $verbinding->prepare("SELECT user_name, post_text FROM posts WHERE room_id = :room_id");
$getPosts->bindParam(':room_id', $_SESSION['room_id']);
$getPosts->execute();
$posts = $getPosts->fetchAll(PDO::FETCH_ASSOC);
foreach ($posts as $inner) {
$username = $inner['user_name'];
$text = $inner['post_text'];
$um = "@4um:~$";
echo "<br><div class = \"posts\">" . $username . "$um " . decr($text) . " </div>";
}
}
function decr($text){
$iterations = 1;
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
$text = hash_pbkdf2("sha512", $text, $salt, $iterations, 512);
echo $text;
}
As stated in the comments you cannot decrypt a hash. For that you need to use an encryption algorithm, using mcrypt_encrypt()
before saving and mcrypt_decrypt()
when displaying.
Seeing as you've already hashed your content, there is no way to get it back. You need to start over, and delete all of the old content, in order to do what you're looking to do.
you have to return an variable $text
instead of echo in decr()
function
function decr($text){
$iterations = 1;
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
$text = hash_pbkdf2("sha512", $text, $salt, $iterations, 512);
return $text;
}