Y a-t-il une bibliothèque / code dans Java pour calculer le CRC 32 bits d'un flux d'octets d'une manière qui correspond à la commande CKSUM à UNIX? P>
3 Réponses :
Avez-vous essayé la classe CRC32? P>
http://download.oracle. COM / Javase / 7 / Docs / API / Java / UTIL / ZIP / CRC32.HTML P>
Ceci est le CRC 32 que GZIP utilise. P>
J'ai lu en ligne à plusieurs endroits que l'algorithme CRC-32 de l'UNIX CICSUM n'est pas la même chose que GZIP. Je n'ai pas testé cela, mais cela risque d'être vrai. Utiliser 'Jacksum' (voir ci-dessus) fonctionne bien pour moi.
@Kowshik, je peux vérifier que Java's CRC32 n'est pas la même chose que / usr / bin / cksum
@Kowshik, vérifiez ma réponse, s'il vous plaît.
Jacksum: http://www.jonelo.de/java/jacksum/index .html C'est une source ouverte avec une licence GPL. p> p>
Fonctionne parfaitement pour moi. Merci pour la réponse rapide!
@Palacsint: Y a-t-il un code / algo que je peux utiliser dans mon programme Java, car je ne veux pas d'utilité tierce
FAIT FUN, JONELO.JACKSUM.ALGORITHM.CKSUM a la même interface que la classe CRC32 de Java, mais donne le même résultat que UNIX CKSUM.
Je consulterais un avocat d'entreprise avant d'utiliser cette bibliothèque dans le code des entreprises. La licence est GPL ("copyleft"), ce qui signifie que vous devez fournir le code source de votre code de projet au public. Si c'était la LGPL («licence publique générale moins générale»), vous ne seriez pas obligé de fournir un accès à votre code propriétaire.
La commande par exemple p> identique à: p> cksum code> sur MacOS permet de sélectionner des algorithmes historiques et un algorithme 3 est le même que
java.util.zip.crc32 code>, comme @ Roberttupelo-Schneck a souligné. Pour une raison quelconque, le plus compact
checkedInputStretream code> donne une checksum différent.