2022/04/25

SalesforceにおけるSHA512アルゴリズムでのハッシュ化方法と使用例を解説

 
  

Salesforceでのハッシュ化について

SalesforceではSHA512関数を用いてハッシュ化できます。 ハッシュ化は不可逆変換で、復元不可能な一方向の変換です。Salesforceにはハッシュ化のための関数の一つとしてSHA512関数が用意されています。 ここでは、SalesforceにおけるSHA512アルゴリズムを用いたハッシュ化の関数であるSHA512関数の、使用方法や使用例について解説します。

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

SHA512関数を用いると、SHA512アルゴリズムでハッシュ化できます。 Salesforceでのハッシュ化には、MD5関数やSHA1関数、SHA256関数、SHA512関数などを用いる方法や、ApexでのCryptoクラスを用いる方法がありますが、ここではSHA512関数について、その構文と使用例を解説します。 SHA512関数などの各関数はどれもハッシュ値を返す関数ですが、ハッシュ化に用いるアルゴリズムが異なります。SHA512関数がSHA512アルゴリズムを用いるように、MD5関数はMD5アルゴリズムで、SHA1関数はSHA1アルゴリズムでハッシュ化します。 それでは複数の使用例を元に、それぞれのケースにおける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アルゴリズムでのハッシュ化を活用しよう!

今回は、SalesforceにおけるSHA512アルゴリズムでのハッシュ化について解説しました。 いくつかの使用例を元に、SHA512関数の使い方を見てきました。Salesforceではハッシュ化対象となる文字列とエンコードのための文字セットを指定するだけで、簡単にハッシュ化が可能です。 冒頭で述べた通り、SHA512アルゴリズムだけでなく他のアルゴリズムを用いる場合でも、今回解説した方法と同様にハッシュ化が可能です。是非活用できるようにしましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

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

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】