0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Android】認証コード自動入力のハッシュ値作成方法

0
Posted at

概要

業務でAndroidの認証コード自動入力(SMS Retriever)を触ったとき、ハッシュ値の作成方法で手間取りました。
自動入力が機能せず、「ハッシュ値の作り方が間違っているのでは?」と疑っていろいろ調べました。
結局は公式に載っている方法で問題ありませんでした。

同じところで時間を無駄にしないため、備忘録として残しておきます。

  • Androidの認証コード自動入力には、アプリ固有のハッシュ値が必要
  • ハッシュ値の生成は、基本的に公式手順どおりで問題ない
  • 実装が動かない場合、ハッシュ値生成手順以外に原因があることも

ハッシュ値作成方法

基本的にこちらの公式の通り進めれば問題ないです。
ハッシュ値の作成には deployment_cert.der が必要です。

作成手順

1. development_cert.derを用意する

Google Play Console から deployment_cert.der をダウンロードしてください。
業務上、ダウンロード権限がない場合は、権限のある担当者に依頼しましょう。

2. コマンドの実行

コマンド1
development_cert.derを置いたディレクトリに移動し、以下のコマンドを実行してください。

keytool -importcert \
  -file deployment_cert.der \
  -keystore temporary.keystore \
  -alias PlayDeploymentCert

コマンド2


keytool -exportcert -alias PlayDeploymentCert -keystore temporary.keystore \
| xxd -p | tr -d "[:space:]" \
| (read cert_hex; echo -n "<YOUR_APPLICATION_ID> ${cert_hex}") \
| sha256sum | tr -d "[:space:]-" \
| xxd -r -p | base64 | cut -c1-11

<YOUR_APPLICATION_ID>は、自分のアプリのパッケージ名に置き換えてください。
このかマンドで生成された値が、自動入力で利用するハッシュ値になります。

SMS本文について

SMS本文についても公式で案内されている形式に沿って作成すれば問題ありません。
ハッシュ値はメッセージ末尾に記載します。

Your ExampleApp code is: 123ABC78


FA+9qCX9VSu

フロントしか触れない人は、SMS送信を担当するサーバー側の担当者に依頼しましょう。

自動入力が機能しない場合

紹介したハッシュ値作成手順を正し区行っていれば、少なくともハッシュ値は正しいはずです。
自動入力が機能しない場合は、アプリ設定や実装側を確認してください。

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?