パスワードのハッシュ化について

Last update

2018/11/22(木)

目的

テキストをハッシュ化したい。

課題

テスト実装で文字列をハッシュ化できない

内容

まずはじめにハッシュ化テストで、jsonファイルを別に用意し、その値をハッシュ化からはじめました。

// jQuery
・・・
        $.ajax('<phpのURL>',{
            type: "POST",
            data: <任意の配列>,
            contentType: 'application/JSON',
            scriptCharset: `utf-8`,
            datatype: 'json',
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert("Server error. Once again thank you.");
                },
            success: function(response){
                    console.log(response);
            }
        });
//json
{
  "hashText": "password"
}
//php
・・・
    $url = "<jsonfileの参照URL>";
    $json = file_get_contents($url);
    $pass_json = json_decode($json,true);

    echo password_hash($pass_json['hashText'], PASSWORD_DEFAULT)."\n";

・・・

こんな感じで書くファイル記述したんですが… ajax通信エラーになるんですよね…

password_hashをコメントアウトするとちゃんと動くので真面目に謎が深いです。

これからについて

今回のハッシュ化の課題は現段階では開発上で問題になる話ではないのですが、解決しておいたほうがいい問題だと思うので、これが解決するまでは先に進めません。

今の所一番有力な問題はPHPのバージョンが違うということみたいなので、これから確認して行きます。

追記 2018/11/14

今はPHPに直打ちじゃなくjsonから持ってきてます。

追記 2018/11/22

hash_hmac関数を使うとハッシュ化できるようです。これにて無事解決

PHP: hash_hmac - Manual

webkaru.net