本文整理汇总了Java中org.bouncycastle.util.Pack.littleEndianToLong方法的典型用法代码示例。如果您正苦于以下问题:Java Pack.littleEndianToLong方法的具体用法?Java Pack.littleEndianToLong怎么用?Java Pack.littleEndianToLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bouncycastle.util.Pack
的用法示例。
在下文中一共展示了Pack.littleEndianToLong方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public void init(CipherParameters params)
throws IllegalArgumentException
{
if (!(params instanceof KeyParameter))
{
throw new IllegalArgumentException("'params' must be an instance of KeyParameter");
}
KeyParameter keyParameter = (KeyParameter)params;
byte[] key = keyParameter.getKey();
if (key.length != 16)
{
throw new IllegalArgumentException("'params' must be a 128-bit key");
}
this.k0 = Pack.littleEndianToLong(key, 0);
this.k1 = Pack.littleEndianToLong(key, 8);
reset();
}
示例2: update
import org.bouncycastle.util.Pack; //导入方法依赖的package包/类
public void update(byte[] input, int offset, int length)
throws DataLengthException,
IllegalStateException
{
int i = 0, fullWords = length & ~7;
if (wordPos == 0)
{
for (; i < fullWords; i += 8)
{
m = Pack.littleEndianToLong(input, offset + i);
processMessageWord();
}
for (; i < length; ++i)
{
m >>>= 8;
m |= (input[offset + i] & 0xffL) << 56;
}
wordPos = length - fullWords;
}
else
{
int bits = wordPos << 3;
for (; i < fullWords; i += 8)
{
long n = Pack.littleEndianToLong(input, offset + i);
m = (n << bits) | (m >>> -bits);
processMessageWord();
m = n;
}
for (; i < length; ++i)
{
m >>>= 8;
m |= (input[offset + i] & 0xffL) << 56;
if (++wordPos == 8)
{
processMessageWord();
wordPos = 0;
}
}
}
}