@ThreadSafe public class Crc8Long extends Object
| Modifier and Type | Field and Description |
|---|---|
static long |
MAX_NUMBER |
static long |
MIN_NUMBER |
| Constructor and Description |
|---|
Crc8Long()
使用默认伪随机seed
|
Crc8Long(@NotNull int[] seed)
指定伪随机seed,产生用混淆值(crc8)的插入位置。
相当于在seed指定的位置(1-base),用8个bit把55bit的number分成9段。
|
| Modifier and Type | Method and Description |
|---|---|
long |
decode(long value)
解码,从伪随机数字中找到编码前数字
|
long |
encode(long number)
编码,生成伪随机数字。
注意:通过比较
Long.MIN_VALUE检测失败情况 |
public static final long MAX_NUMBER
public static final long MIN_NUMBER
public Crc8Long()
public Crc8Long(@NotNull
@NotNull int[] seed)
seed要求,每个元素取值范围是[1,60],元素间数字递减,相差大于2。 元素个数超过8个时,只取前8个,不足8个时,报异常。
seed - 伪随机seedIllegalArgumentException - 去重后不足8个元素。public long encode(long number)
Long.MIN_VALUE检测失败情况number - 编码前数字。Long.MIN_VALUE。public long decode(long value)
注意:通过比较Long.MIN_VALUE检测失败情况
value - 伪随机数字Long.MIN_VALUE。Copyright © 2020. All rights reserved.