comment générer NONCE et l'imprimer sur le côté client dans ANDROID
Je suis en train de travailler sur un programme pour Android qui est un truc lié à l'IMS.
Je veux que le Serveur à envoyer un nonce pour le Client comme une chaîne de caractères et l'imprimer sur le côté client.
Dans le but de générer nonce, j'ai essayé d'utiliser le code à partir de ce site.
http://www.exampledepot.com/egs/java.security/CreateSecureRandom.html
Partie de mes codes sont
public static String generateNonce() {
try {
//Create a secure random number generator
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
//Get 1024 random bits
byte[] bytes = new byte[1024/8];
sr.nextBytes(bytes);
//Create two secure number generators with the same seed
int seedByteCount = 10;
byte[] seed = sr.generateSeed(seedByteCount);
sr = SecureRandom.getInstance("SHA1PRNG");
sr.setSeed(seed);
SecureRandom sr2 = SecureRandom.getInstance("SHA1PRNG");
sr2.setSeed(seed);
} catch (NoSuchAlgorithmException e) {
}
//return NONCE;
return null;
}
J'ai déclaré NONCE = generateNonce();
au début.
Mais le problème est que au lieu d'avoir une valeur de nonce, c'impression que null du côté client. Quand j'ai essayé de l'imprimer sur le côté serveur, elle aussi apparaître comme null.
Quelqu'un peut-il m'éclairer l'erreur dans mes codes ou m'aider avec une meilleure ou la plus appropriée de codage, s'il vous plaît. Merci beaucoup à l'avance.
Ce qui concerne,
Sebby.
OriginalL'auteur sebby_zml | 2010-03-10
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter le
return
déclaration de la valeur que vous souhaitez revenir, dès à présent votre code génère (ou semble générer) le NONCE, mais vous revenirnull
la ChaîneNONCE
est donné une valeur denull
.Vous devez également supprimer le
return null
déclaration. Si vous la laissez dans et c'est le dernier instruction de retour, votre code va générer un valide NONCE mais sera de retournull
.Pas de problème, content d'avoir pu aider. Bonne chance.
OriginalL'auteur Anthony Forloney
Bien, j'avais régler le format de votre premier code comme il est assez illisible.
Alors je voudrais supprimer la deuxième SecureRandom instance.
Alors je voudrais supprimer le
return null;
déclaration à la fin.Alors je voudrais réécrire la fonction pour renvoyer un nombre entier aléatoire comme ceci:
Également s'assurer que la fonction est déclarée pour retourner un entier plutôt qu'une chaîne de caractères.
OriginalL'auteur Cetra