この記事の目次
Salesforceでのハッシュ化について

SalesforceでのSHA512関数を用いたハッシュ化

ハッシュ化と暗号化は異なる
ハッシュ化は不可逆変換で、暗号化は復号可能な秘匿変換です。 ハッシュ化は一方向のみの不可逆変換なので、復号を前提としない比較用途に用いられます。 具体的には、ハッシュ化されたハッシュ値からは元の文字列が推測困難であることを利用した一致性の検証で、元の文字列がどんな内容の文字列かを知る必要がなく、元の文字列と比較対象が一致するかどうかが判断できれば良いケースなどです。 例えば入力されたパスワードが正しいかどうか、データ転送時にデータの欠損なく正しく転送できたかどうかなど、データの内容がどうかは問わない一致性検証に用いられます。 一方、暗号化は秘匿変換なので、復号を前提とした保護用途に用いられます。 具体的には、暗号化された文字列を鍵と呼ばれるデータを用いて元の文字列に復号できるので、鍵を持っている場合に限り元の文字列の内容が分かるような、鍵を持たない第三者からデータの内容を保護したいケースなどです。 例えば機密情報の保護や、メールの保護、個人情報の保護など、正しい受け手や正しい用途に限定して内容が分かるような秘匿性確保に用いられます。 ハッシュ化も暗号化も、変換後には元の文字列の内容が分からなくなる点は共通していますが、それぞれ利用目的が異なる変換です。間違わないようにしましょう。SHA512関数を用いたハッシュ化
SHA512関数は所定の構文に従って使用する必要があります。 ここではSHA512関数の構文と使用例を解説します。複数の使用例を元に、各ケースにおける使用方法を見ていきましょう。SHA512関数の構文
SHA512関数を利用する時には、二つの引数を指定します。 SHA512関数を使用する時には、ハッシュ化対象となる任意の文字列と、エンコードのための文字セットを引数に指定します。SHA512(target_text, character_set)
引数target_textにはハッシュ化対象の文字列を指定します。リテラル値やAPI参照名、数式等の指定も可能です。引数character_setにはエンコードのための文字セットを’UTF-8’もしくは’UTF-16’のいずれかの文字列で指定します。
尚、文字セットであるcharacter_setは省略が可能です。省略した場合には’UTF-8’が採用されます。
SHA512関数の使用例
SHA512関数の具体的な使用例を見ていきましょう。 SHA512関数は以下のように使用します。SHA512('This is a character string for hashing.')
引数に指定された文字列を、エンコードにはデフォルトのUTF-8を用いてSHA512アルゴリズムでハッシュ化し、そのハッシュ値を返します。
SHA512('This is a character string for hashing.', 'UTF-16')
第一引数に指定された文字列を、エンコードには第二引数で指定された文字セットUTF-16を用いてSHA512アルゴリズムでハッシュ化し、そのハッシュ値を返します。
SHA512アルゴリズムでのハッシュ化を活用しよう!

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞