/ / Scala- Comment lire certains octets spécifiques d'un fichier? - scala

Scala- Comment puis-je lire des octets spécifiques à partir d'un fichier? - scala

Je souhaite crypter un texte (environ 1 Mo) et j'utilisela longueur maximale des clés RSA (4096 bits). Cependant, la clé semble trop courte. En parcourant Google, j'ai appris que la taille maximale du texte qu'un RSA peut chiffrer est 8 octets plus courte que la longueur de la clé. Ainsi, je ne peux chiffrer que 501 octets de cette façon. J'ai donc décidé de diviser mon texte en tableaux 2093 (1024 * 1024/501 = 2092.1) .La question est de savoir comment puis-je verser les 501 premiers octets dans le premier tableau de scala? Quelqu'un qui peut m'aider?

Réponses:

1 pour la réponse № 1

Je ne peux pas dire si votre cryptographiel'approche est correcte. (Je ne sais pas, mais je compterais sur des bibliothèques écrites et vérifiées par des cryptographes plus compétents si j'étais à votre place. Je ne sais pas pourquoi vous choisissez 501, soit 11 octets, pas 8, plus court que 512.)

Mais le découpage de vos tableaux en blocs de taille fixe devrait être facile. Utilisez simplement le groupé fonction f Tableau.

val text : String = ???
val bytes = text.getBytes( scala.io.Codec.UTF8.charSet ) // lots of ways to do this
val blocks = bytes.grouped( 501 )

Les blocs seront un Iterator[Array[Byte]], chacun de 501 octets de long sauf le dernier (qui peut être plus court).