package ch.ethz.ssh2.crypto.cipher;
/*
This file was shamelessly taken from the Bouncy Castle Crypto package.
Their licence file states the following:
Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle
(http://www.bouncycastle.org)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/**
* An implementation of the AES (Rijndael), from FIPS-197.
* <p>
* For further details see: <a
* href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/
* </a>.
*
* This implementation is based on optimizations from Dr. Brian Gladman's paper
* and C code at <a
* href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/
* </a>
*
* There are three levels of tradeoff of speed vs memory Because java has no
* preprocessor, they are written as three separate classes from which to choose
*
* The fastest uses 8Kbytes of static tables to precompute round calculations, 4
* 256 word tables for encryption and 4 for decryption.
*
* The middle performance version uses only one 256 word table for each, for a
* total of 2Kbytes, adding 12 rotate operations per round to compute the values
* contained in the other tables from the contents of the first
*
* The slowest version uses no static tables at all and computes the values in
* each round
* <p>
* This file contains the fast version with 8Kbytes of static tables for round
* precomputation
*
* @author See comments in the source file
* @version $Id: AES.java,v 1.4 2006/02/02 09:11:03 cplattne Exp $
*/
public class AES implements BlockCipher
{
// The S box
private static final byte[] S = { (byte) 99, (byte) 124, (byte) 119, (byte) 123, (byte) 242, (byte) 107,
(byte) 111, (byte) 197, (byte) 48, (byte) 1, (byte) 103, (byte) 43, (byte) 254, (byte) 215, (byte) 171,
(byte) 118, (byte) 202, (byte) 130, (byte) 201, (byte) 125, (byte) 250, (byte) 89, (byte) 71, (byte) 240,
(byte) 173, (byte) 212, (byte) 162, (byte) 175, (byte) 156, (byte) 164, (byte) 114, (byte) 192, (byte) 183,
(byte) 253, (byte) 147, (byte) 38, (byte) 54, (byte) 63, (byte) 247, (byte) 204, (byte) 52, (byte) 165,
(byte) 229, (byte) 241, (byte) 113, (byte) 216, (byte) 49, (byte) 21, (byte) 4, (byte) 199, (byte) 35,
(byte) 195, (byte) 24, (byte) 150, (byte) 5, (byte) 154, (byte) 7, (byte) 18, (byte) 128, (byte) 226,
(byte) 235, (byte) 39, (byte) 178, (byte) 117, (byte) 9, (byte) 131, (byte) 44, (byte) 26, (byte) 27,
(byte) 110, (byte) 90, (byte) 160, (byte) 82, (byte) 59, (byte) 214, (byte) 179, (byte) 41, (byte) 227,
(byte) 47, (byte) 132, (byte) 83, (byte) 209, (byte) 0, (byte) 237, (byte) 32, (byte) 252, (byte) 177,
(byte) 91, (byte) 106, (byte) 203, (byte) 190, (byte) 57, (byte) 74, (byte) 76, (byte) 88, (byte) 207,
(byte) 208, (byte) 239, (byte) 170, (byte) 251, (byte) 67, (byte) 77, (byte) 51, (byte) 133, (byte) 69,
(byte) 249, (byte) 2, (byte) 127, (byte) 80, (byte) 60, (byte) 159, (byte) 168, (byte) 81, (byte) 163,
(byte) 64, (byte) 143, (byte) 146, (byte) 157, (byte) 56, (byte) 245, (byte) 188, (byte) 182, (byte) 218,
(byte) 33, (byte) 16, (byte) 255, (byte) 243, (byte) 210, (byte) 205, (byte) 12, (byte) 19, (byte) 236,
(byte) 95, (byte) 151, (byte) 68, (byte) 23, (byte) 196, (byte) 167, (byte) 126, (byte) 61, (byte) 100,
(byte) 93, (byte) 25, (byte) 115, (byte) 96, (byte) 129, (byte) 79, (byte) 220, (byte) 34, (byte) 42,
(byte) 144, (byte) 136, (byte) 70, (byte) 238, (byte) 184, (byte) 20, (byte) 222, (byte) 94, (byte) 11,
(byte) 219, (byte) 224, (byte) 50, (byte) 58, (byte) 10, (byte) 73, (byte) 6, (byte) 36, (byte) 92,
(byte) 194, (byte) 211, (byte) 172, (byte) 98, (byte) 145, (byte) 149, (byte) 228, (byte) 121, (byte) 231,
(byte) 200, (byte) 55, (byte) 109, (byte) 141, (byte) 213, (byte) 78, (byte) 169, (byte) 108, (byte) 86,
(byte) 244, (byte) 234, (byte) 101, (byte) 122, (byte) 174, (byte) 8, (byte) 186, (byte) 120, (byte) 37,
(byte) 46, (byte) 28, (byte) 166, (byte) 180, (byte) 198, (byte) 232, (byte) 221, (byte) 116, (byte) 31,
(byte) 75, (byte) 189, (byte) 139, (byte) 138, (byte) 112, (byte) 62, (byte) 181, (byte) 102, (byte) 72,
(byte) 3, (byte) 246, (byte) 14, (byte) 97, (byte) 53, (byte) 87, (byte) 185, (byte) 134, (byte) 193,
(byte) 29, (byte) 158, (byte) 225, (byte) 248, (byte) 152, (byte) 17, (byte) 105, (byte) 217, (byte) 142,
(byte) 148, (byte) 155, (byte) 30, (byte) 135, (byte) 233, (byte) 206, (byte) 85, (byte) 40, (byte) 223,
(byte) 140, (byte) 161, (byte) 137, (byte) 13, (byte) 191, (byte) 230, (byte) 66, (byte) 104, (byte) 65,
(byte) 153, (byte) 45, (byte) 15, (byte) 176, (byte) 84, (byte) 187, (byte) 22, };
// The inverse S-box
private static final byte[] Si = { (byte) 82, (byte) 9, (byte) 106, (byte) 213, (byte) 48, (byte) 54, (byte) 165,
(byte) 56, (byte) 191, (byte) 64, (byte) 163, (byte) 158, (byte) 129, (byte) 243, (byte) 215, (byte) 251,
(byte) 124, (byte) 227, (byte) 57, (byte) 130, (byte) 155, (byte) 47, (byte) 255, (byte) 135, (byte) 52,
(byte) 142, (byte) 67, (byte) 68, (byte) 196, (byte) 222, (byte) 233, (byte) 203, (byte) 84, (byte) 123,
(byte) 148, (byte) 50, (byte) 166, (byte) 194, (byte) 35, (byte) 61, (byte) 238, (byte) 76, (byte) 149,
(byte) 11, (byte) 66, (byte) 250, (byte) 195, (byte) 78, (byte) 8, (byte) 46, (byte) 161, (byte) 102,
(byte) 40, (byte) 217, (byte) 36, (byte) 178, (byte) 118, (byte) 91, (byte) 162, (byte) 73, (byte) 109,
(byte) 139, (byte) 209, (byte) 37, (byte) 114, (byte) 248, (byte) 246, (byte) 100, (byte) 134, (byte) 104,
(byte) 152, (byte) 22, (byte) 212, (byte) 164, (byte) 92, (byte) 204, (byte) 93, (byte) 101, (byte) 182,
(byte) 146, (byte) 108, (byte) 112, (byte) 72, (byte) 80, (byte) 253, (byte) 237, (byte) 185, (byte) 218,
(byte) 94, (byte) 21, (byte) 70, (byte) 87, (byte) 167, (byte) 141, (byte) 157, (byte) 132, (byte) 144,
(byte) 216, (byte) 171, (byte) 0, (byte) 140, (byte) 188, (byte) 211, (byte) 10, (byte) 247, (byte) 228,
(byte) 88, (byte) 5, (byte) 184, (byte) 179, (byte) 69, (byte) 6, (byte) 208, (byte) 44, (byte) 30,
(byte) 143, (byte) 202, (byte) 63, (byte) 15, (byte) 2, (byte) 193, (byte) 175, (byte) 189, (byte) 3,
(byte) 1, (byte) 19, (byte) 138, (byte) 107, (byte) 58, (byte) 145, (byte) 17, (byte) 65, (byte) 79,
(byte) 103, (byte) 220, (byte) 234, (byte) 151, (byte) 242, (byte) 207, (byte) 206, (byte) 240, (byte) 180,
(byte) 230, (byte) 115, (byte) 150, (byte) 172, (byte) 116, (byte) 34, (byte) 231, (byte) 173, (byte) 53,
(byte) 133, (byte) 226, (byte) 249, (byte) 55, (byte) 232, (byte) 28, (byte) 117, (byte) 223, (byte) 110,
(byte) 71, (byte) 241, (byte) 26, (byte) 113, (byte) 29, (byte) 41, (byte) 197, (byte) 137, (byte) 111,
(byte) 183, (byte) 98, (byte) 14, (byte) 170, (byte) 24, (byte) 190, (byte) 27, (byte) 252, (b
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java实现远程执行SHELL, JAVA实现远程登陆执行shell脚本。上传文件到远程服务器,下载远程服务器资源。 ShellExecutor exe = new ShellExecutor("192.168.1.1", 22, "USERNAME", "PASSWORD"); if (exe.login()) { ResultEntity resultEntity = exe.execute("ls -ls"); if (resultEntity.isExecuteSuccess()) { System.out.println("结果:" + resultEntity.getResult() + "|状态:" + resultEntity.getStatusCode()); } else { System.err.println("执行出错了-->" + resultEntity.getErrorMsg()); } } else { System.err.println("登陆失败"); }
资源推荐
资源详情
资源评论
收起资源包目录
Java实现远程执行SHELL (309个子文件)
AES.class 37KB
ChannelManager.class 31KB
SFTPv3Client.class 18KB
BlowFish.class 17KB
KexManager.class 16KB
Connection.class 15KB
TransportManager.class 14KB
KnownHosts.class 12KB
SCPClient.class 11KB
AuthenticationManager.class 10KB
DES.class 9KB
PEMDecoder.class 8KB
Session.class 7KB
RSASHA1Verify.class 6KB
DSASHA1Verify.class 6KB
TransportConnection.class 6KB
RemoteX11AcceptThread.class 5KB
ErrorCodes.class 5KB
ShellExecutor.class 5KB
MD5.class 5KB
SwingShell$ConnectionThread.class 5KB
PacketKexInit.class 5KB
SHA1.class 5KB
Packets.class 4KB
DhExchange.class 4KB
SwingShell.class 4KB
ShellCommandExecutor.class 4KB
TypesReader.class 4KB
BlockCipherFactory.class 4KB
TypesWriter.class 3KB
StreamGobbler.class 3KB
RemoteAcceptThread.class 3KB
CipherOutputStream.class 3KB
CipherInputStream.class 3KB
Channel.class 3KB
SwingShell$TerminalDialog.class 3KB
SimpleDERReader.class 3KB
LocalAcceptThread.class 3KB
SwingShell$EnterSomethingDialog.class 3KB
StreamForwarder.class 3KB
SwingShell$AdvancedVerifier.class 3KB
DhGroupExchange.class 3KB
UsingKnownHosts.class 2KB
BasicWithHTTPProxy.class 2KB
ClientServerHello.class 2KB
HashForSSH2Types.class 2KB
KeyMaterial.class 2KB
MAC.class 2KB
SwingShell$TerminalDialog$RemoteConsumer.class 2KB
Base64.class 2KB
TransportManager$1.class 2KB
StdoutAndStderr.class 2KB
TimeoutService$TimeoutThread.class 2KB
Basic.class 2KB
SingleThreadStdoutStderr.class 2KB
LocalShellExecutor.class 2KB
PacketUserauthInfoRequest.class 2KB
PacketUserauthRequestPassword.class 2KB
PublicKeyAuthentication.class 2KB
CBCMode.class 2KB
TimeoutService.class 2KB
PacketUserauthRequestPublicKey.class 2KB
PacketChannelOpenFailure.class 2KB
StreamGobbler$GobblerThread.class 2KB
PacketUserauthRequestNone.class 2KB
PortForwarding.class 2KB
PacketChannelOpenConfirmation.class 2KB
PacketUserauthBanner.class 2KB
PacketOpenSessionChannel.class 2KB
ModifyTime.class 2KB
HMAC.class 2KB
PacketDisconnect.class 2KB
CTRMode.class 2KB
SwingShell$InteractiveLogic.class 2KB
PacketChannelWindowAdjust.class 2KB
SFTPException.class 2KB
ChannelInputStream.class 2KB
PacketUserauthFailure.class 2KB
PacketServiceRequest.class 2KB
PacketServiceAccept.class 2KB
PacketKexDhGexReply.class 2KB
ChannelOutputStream.class 2KB
PacketKexDHReply.class 2KB
ResultEntity.class 2KB
LocalStreamForwarder.class 2KB
RunTest.class 2KB
PacketKexDhGexGroup.class 1KB
SFTPv3FileAttributes.class 1KB
PacketIgnore.class 1KB
PacketNewKeys.class 1KB
DHGexParameters.class 1KB
DESede.class 1KB
PacketSessionPtyRequest.class 1KB
ShellCommandExecutor$1.class 1KB
Packet.class 1KB
DSAPrivateKey.class 1KB
TransportManager$AsynchronousWorker.class 1KB
PacketOpenDirectTCPIPChannel.class 1KB
Connection$1.class 1KB
PacketSessionX11Request.class 1KB
共 309 条
- 1
- 2
- 3
- 4
资源评论
- napoxy2015-04-08貌似还是需要ssh,学习了。谢谢分享
- jason_chou2014-10-06貌似还是需要ssh,学习了。谢谢分享
- chenjun33442015-03-26不错,代码好用
kevin_Luan
- 粉丝: 65
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功