J'apprends le cryptage. J'ai fait quelques clés, encodé un exemple de chaîne ("1234 5678 9012 3456") et ai pu le décoder sans problème. La première partie fonctionne bien.Quelle est la taille d'une clé dont j'ai besoin?
Ensuite, je l'ai essayé avec un échantillon des données réelles que je veux encoder, et j'ai obtenu une erreur "data to large for key size".
La longueur de la chaîne est 14041 caractères, et le produit final peut être encore plus grand, alors comment puis-je le faire fonctionner sans avoir une clé de 1024000 bits ou quelque chose de fou comme ça?
Edit: Comme j'ai déjà appris quelques trucs depuis son ouverture il y a quelques heures, la méthode actuelle avec laquelle je joue utilise RSA, puisque c'est la valeur par défaut pour openssl_pkey_new. Fondamentalement, j'ai une application mobile et je veux être en mesure de mettre à jour les données de l'application de la manière la plus sûre possible. Mon patron est un peu paranoïaque à propos du "nuage". Mon idée est d'utiliser RSA ou quelque chose pour valider l'application avec une page Web API, obtenir les données les plus à jour de la base de données qui a été encodée, et la décoder dans l'application pour le stockage afin d'éviter d'avoir à sortir une nouvelle version chaque fois que les données des applications sont mises à jour (deux fois par an).
Mon patron vraiment n'aime pas l'idée de fuite de données, donc tout ce que je peux faire pour le verrouiller serait bon.
Pourrait aider: http://stackoverflow.com/questions/7143514/how-to-encrypt-a-large-file-in-openssl-using-public-key – CD001
Quelle clé et chiffrement utilisez-vous? Cela ressemble presque à RSA, mais ça pourrait être d'autres. – jww
@jww C'est tout ce que j'ai compris: '$ keysize = 4096; $ res = openssl_pkey_new (array ('private_key_bits' => $ keysize)); ' – AndyD273