広告

Java : Adler32 (チェックサム) - API使用例

Adler32 (Java SE 18 & JDK 18) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

データ・ストリームのAdler-32チェックサムを計算するために使用するクラスです。 Adler-32チェックサムは、CRC-32と同程度の信頼性がありますが、さらに高速な計算が可能です。

クラス構成

Adler32クラスは、チェックサムの計算に Adler-32 アルゴリズムを使います。

final byte[] b = "abcd".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100]

final var checksum = new Adler32();

checksum.update(b);
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

コンストラクタ

Adler32 ()

新しいAdler32オブジェクトを生成します。

final var checksum = new Adler32();
System.out.printf("%x%n", checksum.getValue()); // 1

checksum.update(123);
System.out.printf("%x%n", checksum.getValue()); // 7c007c

メソッド

long getValue ()

チェックサム値を返します。

final var b = "abcd".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100]

final var checksum = new Adler32();

checksum.update(b);
System.out.printf("%x%n", checksum.getValue()); // 3d8018b
final var checksum = new Adler32();

checksum.update(97);
System.out.printf("%x%n", checksum.getValue()); // 620062

checksum.update(98);
System.out.printf("%x%n", checksum.getValue()); // 12600c4

checksum.update(99);
System.out.printf("%x%n", checksum.getValue()); // 24d0127

checksum.update(100);
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

void reset ()

チェックサムを初期値にリセットします。

final var checksum = new Adler32();
System.out.printf("%x%n", checksum.getValue()); // 1

checksum.update("abcd".getBytes());
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

checksum.reset();
System.out.printf("%x%n", checksum.getValue()); // 1

void update (byte[] b, int off, int len)

チェックサムを指定されたバイト配列で更新します。

final var b = "abcdXYZ".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100, 88, 89, 90]

final var checksum = new Adler32();

checksum.update(b, 0, 4);
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

checksum.reset();
checksum.update(b, 4, 3);
System.out.printf("%x%n", checksum.getValue()); // 217010c
final var checksum = new Adler32();

checksum.update("abcd".getBytes());
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

checksum.reset();
checksum.update("XYZ".getBytes());
System.out.printf("%x%n", checksum.getValue()); // 217010c

void update (int b)

チェックサムを指定されたバイト(引数bの下位8ビット)で更新します。

このメソッドの使用例は、getValue() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void update (ByteBuffer buffer)

チェックサムを指定されたバッファからのバイト数で更新します。

final var buffer = ByteBuffer.wrap("abcd".getBytes());
System.out.println(buffer); // java.nio.HeapByteBuffer[pos=0 lim=4 cap=4]

final var checksum = new Adler32();

checksum.update(buffer);
System.out.printf("%x%n", checksum.getValue()); // 3d8018b

System.out.println(buffer); // java.nio.HeapByteBuffer[pos=4 lim=4 cap=4]

Checksumで宣言されたメソッド

update

Java API 使用例 : Checksum」をご参照ください。


関連記事

ページの先頭へ