📄 ciphertest.java
字号:
package org.bouncycastle.crypto.test;import org.bouncycastle.crypto.BlockCipher;import org.bouncycastle.crypto.DataLengthException;import org.bouncycastle.crypto.params.KeyParameter;import org.bouncycastle.util.test.SimpleTest;public abstract class CipherTest extends SimpleTest{ private SimpleTest[] _tests; private BlockCipher _engine; private KeyParameter _validKey;// protected CipherTest(// SimpleTest[] tests)// {// _tests = tests;// } protected CipherTest( SimpleTest[] tests, BlockCipher engine, KeyParameter validKey) { _tests = tests; _engine = engine; _validKey = validKey; } public abstract String getName(); public void performTest() throws Exception { for (int i = 0; i != _tests.length; i++) { _tests[i].performTest(); } if (_engine != null) { // // state tests // byte[] buf = new byte[16]; try { _engine.processBlock(buf, 0, buf, 0); fail("failed initialisation check"); } catch (IllegalStateException e) { // expected } bufferSizeCheck((_engine)); } } private void bufferSizeCheck( BlockCipher engine) { byte[] correctBuf = new byte[engine.getBlockSize()]; byte[] shortBuf = new byte[correctBuf.length / 2]; engine.init(true, _validKey); try { engine.processBlock(shortBuf, 0, correctBuf, 0); fail("failed short input check"); } catch (DataLengthException e) { // expected } try { engine.processBlock(correctBuf, 0, shortBuf, 0); fail("failed short output check"); } catch (DataLengthException e) { // expected } engine.init(false, _validKey); try { engine.processBlock(shortBuf, 0, correctBuf, 0); fail("failed short input check"); } catch (DataLengthException e) { // expected } try { engine.processBlock(correctBuf, 0, shortBuf, 0); fail("failed short output check"); } catch (DataLengthException e) { // expected } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -