【GDevelop】Hash 拡張機能の使い方
Hash 拡張機能は、文字列からハッシュ値を生成してくれる拡張機能です。
この拡張機能の活用例については「セーブデータは暗号化しよう!」をご覧ください。
拡張機能をインストールする方法については「新しい拡張機能のインストールの仕方」をご覧ください。
執筆時点のバージョンは 1.0.0 です。
ハッシュ値とは?
一応ざっくり説明すると、ハッシュ値とはハッシュ関数を通すことで得られる、一定の長さの値のことです。
このハッシュ値には、同じデータからは必ず同じハッシュ値が得られ、さらにハッシュ値から元のデータを復元することはできないという特徴があります。
そのため、データが改竄(かいざん)されていないかのチェックに利用することができます。
関数
インストールすると、文字列式(テキスト式)で次のような関数が選択できるようになります。
それぞれの使い方をざっくり説明します。
Hash a String with MD5
MD5 というハッシュ関数を利用して、ハッシュ値を生成することができる関数です。
MD5 は既に脆弱性(弱点)が発見されていて、重要なデータ(パスワードなど)のチェックには使えなのですが、生成負荷が SHA-256 より低いので、それほど重要ではない大きなデータの完全性をチェックしたい場合には、利用を検討しても良いと思います。
なお、この拡張機能の MD5 関数は、一部の漢字や絵文字などを正しく処理できません。
そのため、元のデータが同じでも、他のシステムの MD5 関数で生成したハッシュ値とは、値が異なる場合があります。
ご注意ください。
Hash a String with SHA256
SHA-2 の SHA-256 という種類のハッシュ関数を利用して、ハッシュ値を生成することができる関数です。
重要なデータからハッシュ値を生成したい場合は、MD5 ではなくこちらを使うようにしましょう。
ただし困ったことに、この拡張機能の SHA-256 関数は、半角英数字と半角記号にしか対応していません。つまり、日本語は正しく処理できません。
日本語などの対応していない文字が一文字でも入っていると、undefined という値を返します。
日本語を使いたい場合は?
日本語を含む文字列を、一度何らかの方法で半角英数字のみのデータ表記に変換してから、利用することで解決できます。
コメント
コメントを投稿