8
votes

Génération d'une chaîne de hachage pour l'API google sms retriever - 'xxd' n'est pas reconnu comme une commande interne ou externe

Après la nouvelle politique de Google concernant les autorisations des SMS et du journal des appels, j'essaie de mettre en œuvre l'API SMS Retriever pour mon application Android. Le tutoriel semble facile mais j'ai trouvé un problème lors de la création / génération du hachage pour le même.

Quand je tape

'xxd' is not recognized as an internal or external command,
operable program or batch file.

'tr' is not recognized as an internal or external command,
operable program or batch file.

OU p >

keytool -exportcert -alias MyAndroidKey -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11

Il dit:

keytool -alias MyAndroidKey -exportcert -keystore MyProduction.keystore | xxd -p | tr -d "[:space:]"

Il n'y a pas de clarification disponible sur https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string page p>

Merci.


0 commentaires

3 Réponses :


1
votes

Dans Window, si vous utilisez SourceTree, vous rechercherez avec le mot-clé xxd.exe ou le trouverez avec C: \ Users \ votre_nom_utilisateur \ AppData \ Local \ Atlassian \ SourceTree \ git_local \ chemin usr \ bin .

Exemple: keytool -alias MyKey -exportcert -keystore MyKey.keystore | C: \ Users \ votre_nom_utilisateur \ AppData \ Local \ Atlassian \ SourceTree \ git_local \ usr \ bin \ xxd -p | C: \ Users \ votre_nom_utilisateur \ AppData \ Local \ Atlassian \ SourceTree \ git_local \ usr \ bin \ tr -d "[: espace:]"

Vous pouvez télécharger ici


7 commentaires

Salut merci, mais je n'ai pas pu trouver le répertoire Atlassian dans C: \ Users \ votre_nom_utilisateur \ AppData \ Local \


Remplacez le your_user_name par votre nom d'utilisateur que vous utilisez pour vous connecter au PC


Vous pouvez télécharger ici


Je sais que: p, OK donc j'ai installé l'arborescence des sources, je peux voir le répertoire Atlassian, mais il n'y a pas de répertoire git_local


Il y a un répertoire hg_local


Je vous donne un lien pour le télécharger. Vérifiez ma réponse ou mon commentaire précédent. J'espère que cela aide


Terminé. @john Merci pour l'aide.



10
votes

Enfin, j'ai réussi à obtenir une clé de hachage pour utiliser l'API SMS Retriever - Android.

Étapes que j'ai suivies.

  1. J'utilisais Git, il a donc été installé sur ma machine. Rendez-vous sur C: \ Program Files \ Git \ usr \ bin et je vois qu'il contient xxd.exe et tr.exe, ce qui était mon besoin.

  2. J'ai donc ajouté la variable d'environnement à Path> New> C: \ Program Files \ Git \ usr \ bin

  3. Redémarrez la cmd avec les privilèges d'administrateur. Les commandes xxd et tr ont commencé à fonctionner.

J'espère que cela aidera d'autres personnes car Google a arrêté CALL_LOG, autorisation READ_SMS.

<₹ Cheers.

--------------------- MISE À JOUR ---------------------- -

J'ai trouvé une autre bonne réponse ici.

Veuillez suivre le lien qu'il donne étape par étape pour créer la clé de hachage .

J'ai suivi ceci car après la publication de l'application sur Play Store, la clé de hachage générée ne fonctionne plus .

Comment pour générer une clé de hachage de 11 caractères pour Sms Retriever avec la signature Google App

J'espère que cela aidera quelqu'un!


4 commentaires

lorsque j'essaie de générer mon hachage, l'erreur suivante se produit tr: erreur d'écriture: recherche illégale


@Mohsin Assurez-vous que vous démarrez cmd avec des privilèges d'administrateur


J'utilise git et mon application n'est pas encore dans Google Play. Je viens de créer une clé ocal jks. Mais la commande ne trouve pas xxd


xxd.exe et tr.exe devraient être là juste dans C: \ Program Files \ Git \ usr \ bin pour Windows ou tout répertoire équivalent si vous utilisez mac ou linux



0
votes

[MISE À JOUR pour Windows]

keytool -exportcert -alias YOUR_ALIAS -keystore certificate.jks | "C:\Program Files\Git\usr\bin\xxd" -p |"C:\Program Files\Git\usr\bin\tr" -d "[:space:]" | echo -n PACKAGE_NAME `cat` | "C:\Program Files\Git\usr\bin\sha256sum" | "C:\Program Files\Git\usr\bin\tr" -d "[:space:]-" | "C:\Program Files\Git\usr\bin\xxd" -r -p | "C:\Program Files\Git\usr\bin\base64" | "C:\Program Files\Git\usr\bin\cut" -c1-11

L'ensemble des commandes devient

# xxd
C:\Program Files\Git\usr\bin\xxd
# tr
C:\Program Files\Git\usr\bin\tr
# base64
C:\Program Files\Git\usr\bin\base64


2 commentaires

C'est vrai en supposant que l'utilisateur a toutes ces commandes installées sous ces chemins. Ça vaut le coup d'essayer, de toute façon.


Yaa. J'aurais dû mentionner que si quelqu'un ne connaît pas le chemin de ceux-ci, il / elle peut rechercher ses lecteurs (probablement C) pour trouver son fichier .exe. Le chemin du fichier .exe est ce que nous y mettons.