Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'pg/src/main/java/org/spongycastle/bcpg/CRC24.java')
-rw-r--r--pg/src/main/java/org/spongycastle/bcpg/CRC24.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/pg/src/main/java/org/spongycastle/bcpg/CRC24.java b/pg/src/main/java/org/spongycastle/bcpg/CRC24.java
new file mode 100644
index 00000000..b9db421d
--- /dev/null
+++ b/pg/src/main/java/org/spongycastle/bcpg/CRC24.java
@@ -0,0 +1,37 @@
+package org.spongycastle.bcpg;
+
+public class CRC24
+{
+ private static final int CRC24_INIT = 0x0b704ce;
+ private static final int CRC24_POLY = 0x1864cfb;
+
+ private int crc = CRC24_INIT;
+
+ public CRC24()
+ {
+ }
+
+ public void update(
+ int b)
+ {
+ crc ^= b << 16;
+ for (int i = 0; i < 8; i++)
+ {
+ crc <<= 1;
+ if ((crc & 0x1000000) != 0)
+ {
+ crc ^= CRC24_POLY;
+ }
+ }
+ }
+
+ public int getValue()
+ {
+ return crc;
+ }
+
+ public void reset()
+ {
+ crc = CRC24_INIT;
+ }
+}