2010-07-20 3 views
0

Je dois brouiller les ID de périphérique sur le Blackberry pour des raisons de confidentialité. Lorsque j'appelle la fonction DeviceInfo.getDeviceId(), j'ai un numéro de 9 caractères. Après l'avoir converti en Hexa, j'ai obtenu le vrai code PIN pour l'appareil (ou l'ID de l'appareil dépend de comment vous l'appelez) sur 8 caractères. Comme je l'ai dit, pour des raisons de confidentialité, je ne peux pas stocker le code PIN tel qu'il est dans ma base de données. Donc, je voudrais brouiller l'ID à un seul, toujours en 8 caractères. Si je fais MD5 ou un autre cryptage, j'ai toujours un numéro contenant plus de 8 caractères.ID de l'appareil brouillé Blackberry en 8 caractères unique

Connaissez-vous un moyen d'obtenir une chaîne unique de 8 caractères à partir de l'ID de périphérique? Merci.

+0

Je ne vois pas comment un BB PIN est privé, les gens les donnent sur Facebook, tout comme ils donnent leur adresse email. Si vous souhaitez sécuriser la connexion, utilisez plutôt HTTPS. –

+0

Oui, je vois. Même si ce n'est pas privé, je ne veux toujours pas le stocker parce que je pourrais trouver l'utilisateur quand je veux avec cela. Je vais donc trouver un moyen de stocker un numéro unique différent. – Dachmt

Répondre

1

Vous pouvez utiliser un chiffrement de bloc court pour obséder le message. Regardez le mode de fonctionnement CBC-MAC. Comme la sortie que vous voulez est en réalité de seulement 4 octets, vous pouvez même utiliser un CRC, tel que CRC32.

Notez que vous auriez besoin d'un "hachage parfait" pour ne pas avoir de chevauchement - ni une touche courte CBC-MAC ou CRC32 vous donnera un hachage parfait. Je suggère fortement d'utiliser une fonction de hachage plus longue.

+0

Fondamentalement, vous me dites d'utiliser une autre méthode de cryptage comme SHA ou MD5 par exemple? Je viens de poser ma question parce que je stocke l'ID de l'appareil dans ma base de données avec une chaîne de 8 caractères et ne peut pas modifier la base de données. J'ai donc besoin de 8 caractères d'ID d'appareil brouillés. Je prenais d'abord le résultat sur 9 caractères de DeviceInfo.getDeviceId(), obtenais la sous-chaîne de 0 à 8 et l'insérais dans ma base de données pour que je ne puisse pas récupérer l'ID de l'appareil. Mais l'unicité de ce nombre de 8 caractères n'est pas sûre à 100% alors. – Dachmt