问题标签 [phpseclib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1469 浏览

java - 使用 Phpseclib 在 Java 中加密和在 PHP 中解密

编辑2: 问题已解决。我不明白 php 中的 loadkey 函数应该如何工作,我错误地认为它会读取一个密钥文件(它不会)。解决方案是将文件的内容读入一个变量,然后用loadkey加载该变量。

编辑: 问题似乎出在钥匙上。我意识到 loadkey 返回 false,表示它无法读取密钥。phpseclib 接受的格式和在 java 中创建的密钥是否存在差异?


我正在尝试在 Java (android) 中加密 AES 密钥并在 PHP 中解密它以使用对称加密进行数据传输。目前,我能够在 Java 中使用 RSA 加密和解密一个短文件或字符串,但无法在 PHP 中对其进行解密。

我正在使用 phpseclib 在 PHP 中解密,我没有收到任何错误,但我的输出字符串为空。

这是我正在使用的代码:

爪哇:

PHP:


用于生成密钥的代码:

}

注意:函数 escribir 只是将数据逐字节写入文件。

什么可能导致问题?

0 投票
1 回答
404 浏览

php - 使用 phpseclib 时是否需要使用 stream_set_blocking?

我一直在阅读PECLphpseclib的 SSH2 库之间的差异。似乎 phpseclib 使用起来更简单一些,而且我发现的示例代码很少。通过 SSH2 库,我看到了对stream_set_blocking. 我是否需要将此功能与 phpseclib 一起使用?

0 投票
2 回答
3755 浏览

php - 如何使用 PHPseclib 捕获未处理的错误?

假设我有以下代码。

为了测试这一点,我更改了服务器 IP 以模仿错误消息。下面的 IP 不存在,所以Unhandled Exception消息是:Cannot connect to 10.199.1.7. Error 113. No route to host

这将显示一个带有 PHP 代码的丑陋屏幕。是否有可能捕获此错误?

0 投票
1 回答
212 浏览

php - 是否可以使用 Phpseclib 重用连接字符串?

假设我在类文件中有以下两种方法。在我的代码中,我通过执行以下操作开始连接。

然后稍后在我的代码中,我调用该scp方法。

它按原样工作,但我不想scp在我第一次连接时启动它后将我的连接字符串传递给该方法。

0 投票
2 回答
3287 浏览

php - PHPSecLib 受密码保护的 RSA 和用户身份验证

我正在尝试使用 PHPSecLib 通过 PHP 中的 SFTP 连接到 SSH2 服务器。但我的问题是,服务器需要一个受密码保护的密钥文件,还需要用户名和密码。似乎只能提供用户名+密码或用户名+密钥文件(可选密码保护)。

我怎样才能使用所有这些东西登录?

http://phpseclib.sourceforge.net/

我的代码看起来像

但是我应该把“密码”放在哪里?

-- 编辑:服务器只需要 RSA 密钥,但不知何故,密钥未正确加载

0 投票
1 回答
923 浏览

php - phpseclib 自动重新连接或 SFTP 增加活动会话时间

我正在为从 SFTP 服务器下载的文件使用 phpseclib 库。有时即使 SFTP 中有文件,脚本也不会下载文件。有时我们刷新几次文件就会下载。

连接丢失时如何自动重新连接?

或者

如何增加活动会话时间。

0 投票
1 回答
293 浏览

php - 需要phpseclib函数帮助

我要计算ciphertext=m(pow)e mod(n)

我在 phpseclib 中看到了这个例子:

谁能解释一下echo $a->powMod($b, $c);

0 投票
5 回答
3931 浏览

php - phpseclib - 我可以使用用户名、密钥和密码(不是密钥密码)进行连接吗

抱歉,如果我在文档中遗漏了这一点,但是否可以使用私钥和密码(不是我的私钥的密码)连接到 SFTP 服务器。

这些示例显示了用户名/密码、用户名/密钥和用户名/密钥/密钥密码验证类型。

通过命令行连接时,我会收到输入密码的提示...

用户@xxxx 的密码:

希望这个库可以处理这个?

否则是否有任何其他基于 PHP 的解决方案可能支持用户名/密钥和服务器密码身份验证?我在这里很灵活,可以根据需要安装模块。

编辑

到目前为止,感谢您的帮助...我已经尝试过您提到的 Neubert 但这似乎不起作用。为了验证连接到服务器所需的内容,我在命令行上对此进行了测试。
sftp key user@ip- 按预期
sftp user@ip提示输入密码 - 提示输入密码,但输入正确时告诉我“已通过部分成功验证”。

如果我可以使用密钥然后密码进入,我认为目录和密钥的权限应该没问题。

我开始认为这个库不支持我需要的东西。

0 投票
2 回答
2183 浏览

javascript - 用 Javascript 加密,用 PKCS#1 解密 PHP

我试图使用 PKCS#1 在 Javascript/PHP 中进行加密/解密。我有以下变量:

我正在使用这个 javascript 库来解密: http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.js 像这样:

要在 PHP 中解密,我使用 PHPSec 库:

问题1:如何将d和n转换为要在phpseclib中使用的私钥?

问题 2:如何将 Javascript 代码的输出转换为可与 phpseclib 一起使用的形式?

0 投票
1 回答
8412 浏览

php - 如何从 PHPSECLIB $sftp->put 获取错误信息

我正在使用 PHPseclib 将文件从本地文件服务器传输到远程文件服务器。我能够连接到服务器,对本地文件服务器上的目标文件拥有 0777 权限,但 $sftp->put 失败。现在它返回布尔值,但有没有办法可以提取实际的错误消息或至少一个错误代码?

我试过 $sftp->error,但该值为空。我正在运行 PHP5.1(无法升级到最新版本 b/c,它实际上不是我的服务器)。


解决方案:

使用 $sftp->getSFTPErrors() 返回一个包含 sftp 错误的数组。