コンテンツにスキップ

SHA3-256ハッシュ化

このドキュメントでは、ニッセイ情報のMCIリングで使用するNITハッシュの作成方法について説明します。

自治体IDとユーザーIDを;で結合した文字列をSHA3-256でハッシュ化します。

Terminal window
echo -n "131211;U271264d439b3e973409333bde422ed50" | openssl dgst -sha3-256
  • 131211: 自治体ID
  • ;: 区切り文字(セミコロン)
  • U271264d439b3e973409333bde422ed50: ユーザーID
  • -nオプションを必ず付けて、末尾の改行を含めないようにする
  • 自治体IDとユーザーIDの間は必ず;(セミコロン)で区切る

生成したハッシュ値を使用してAPIでアカウント登録を行います。

Terminal window
curl --request POST \
--url https://api-dev.daily-brain-training.jp/brain_training_regist \
--header 'content-type: application/json' \
--header 'x-mci-api-key: {key}' \
--data '{"parameter": "eae2b917403965a8f6b46355e0f3595ff7dbc646f5466e98856fc844d4945f88","group_id": "131211"}'
  • parameter: 生成したSHA3-256ハッシュ値
  • group_id: 自治体ID
  • x-mci-api-key: APIキー(環境に応じて設定)
{
"status": "success",
"message": "アカウントが正常に登録されました"
}

複数のユーザーを一括で処理する場合のシェルスクリプト例:

#!/bin/bash
# 自治体ID
GROUP_ID="131211"
API_KEY="your-api-key-here"
API_URL="https://api-dev.daily-brain-training.jp/brain_training_regist"
# ユーザーIDリスト
USER_IDS=(
"U271264d439b3e973409333bde422ed50"
"U371264d439b3e973409333bde422ed51"
"U471264d439b3e973409333bde422ed52"
)
# 各ユーザーIDをハッシュ化して登録
for USER_ID in "${USER_IDS[@]}"; do
# ハッシュ値生成
HASH=$(echo -n "${GROUP_ID};${USER_ID}" | openssl dgst -sha3-256 | awk '{print $2}')
echo "登録中: ${USER_ID} -> ${HASH}"
# API呼び出し
curl --request POST \
--url "${API_URL}" \
--header 'content-type: application/json' \
--header "x-mci-api-key: ${API_KEY}" \
--data "{\"parameter\": \"${HASH}\",\"group_id\": \"${GROUP_ID}\"}"
echo ""
done