单数据验证算法-CheckDataFinal
总感觉这个加密方法有点儿问题!可一时又找不到到底是哪里有一点儿问题?
讨论一下,希望能找到问题所在。
// CDF
public class CheckedDataFinal
{
/*
*更新/加密数据
*/
public void update(final byte data[])
throws ArrayNotNullFoundException
{
if (data == null)
throw new ArrayNotNullFoundException();
for (byte b : data) {
br ^= b;//总感觉是这一步有点问题
value += br;
}
}
/*
*返回数据验证值
*/
public long getValue()
{
return value;
}
public String toString()
{
return Long.toString(value, 0x10);
}
private long value = 0x00L;
private byte br = 0x7F;
/*
*空的加密数据异常
*/
public class ArrayNotNullFoundException
extends Exception
{
public ArrayNotNullFoundException()
{
super("待加密数据不能为空。");
}
}
}