Je dois vérifier la signature sur un fichier pouvant contenir jusqu'à 2 Go, et je souhaite le faire de la manière la plus efficace possible. Pour diverses raisons, le fichier sera déjà complètement chargé dans la mémoire, et est accessible à l'aide d'un InputStream
par l'application. Je voudrais vérifier la signature en utilisant l'interface de flux, mais la méthode de classe JCA Signature
'update
accepte seulement byte[]
et les classes liées.Vérification efficace de la signature sur de grands ensembles de données à l'aide de JCA
Comment puis-je le faire efficacement? Je ne veux pas charger la bête dans un second tableau d'octets, sinon nous verrons une utilisation de mémoire très sérieuse, mais l'interface ne semble pas le supporter autrement.
Mise à jour
S'il importe, l'algorithme de signature est SHA-1
J'aime le son de celui-ci; does 'update()' vider les blocs précédemment mis à jour? –
Je suppose qu'il est destiné à mettre à jour la signature itérativement pour l'entrée donnée, et à la fin vous appelez une méthode "finish()" ... avez-vous un lien vers une page qui décrit la classe Signature? Je ne pouvais pas trouver autre chose qu'une vague description. –