Java : Adler32 示例

Java 中的 Adler32 (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 Adler32 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

可用于计算数据流的 Adler-32 校验和的类。Adler-32 校验和几乎与 CRC-32 一样可靠,但计算速度更快。 (机器翻译)

Class diagram

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

Constructors

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

Methods

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 的低八位)更新校验和。 (机器翻译)

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 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]

Methods declared in Checksum

update

请参阅下面的链接。


相关文章

To top of page