问题标签 [passphrase]
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.
python - blockstack/pybitcoin不同的BTC地址输出
在探索pybitcoin 时,我运行了以下命令:
当我尝试使用相同的密码“shepherd mais pack rate enamel horace diva filesize maximum real roar mall”在此处生成 BTC 地址时,我得到了不同的结果,即 13mtgVARiB1HiRyCHnKTi6rEwyje5TYKBW
我试图在源代码中将熵从 160 更改为 128,但它并没有改变结果。
pybitcoin 给出不同输出的原因可能是什么?存储库已经过时了,所以我没有发布新问题。
security - gpg2 中 gpg-agent 的用途
我已经使用gpg
加密一段时间了。有人建议我应该gpg2
改用。当我去使用gpg2
时,我几乎什么都做不了;它会抱怨需要访问私钥,但我似乎无法让它在不gpg-agent
运行的情况下使用私钥。
事实证明,我故意禁用gpg-agent
(通过使用chmod -x /usr/bin/gpg-agent
);这导致gpg2
功能非常有限,并向 stderr 抱怨。
我禁用的原因gpg-agent
是遵循一系列事件。
首先,我将 SSH 连接到远程机器,“代理”会打开一个弹出窗口,要求我解锁我的 SSH 密钥。我不喜欢这个,因为:
- 屏幕上的弹出窗口中断了我的工作流程
- 我的屏幕上的弹出窗口不太可能被注意到,因此它会显示连接停止而不是查询以解锁加密密钥
- 当我绝对不希望我的密码被缓存时,代理似乎缓存了我的密码(很像密码缓存
sudo
的烦人使用,我可以在其配置中禁用它);每当我的加密密钥用于任何使用它们的程序时,我总是想输入密码短语。 - 弹出窗口似乎由一个单独的进程拥有,而我希望特定进程使用密钥来查询密码(即使它是一个执行实际查询的库);由于我的大部分活动都使用命令行工具,这意味着GUI 应用程序并不理想,因为并非我所做的一切都可以访问 X11
- 在后台自动启动一个单独的进程消除了“一个命令,一个进程”的概念,特别是如果该后台进程在原始命令退出后仍然存在
原来是 GNOME 的关键代理,如果不卸载 GNOME,我就无法卸载代理。所以我只是简单地禁用了它chmod -x /usr/bin/gnome-keyring*
。然后我发现 SSH 会退回到另一个代理,所以我也使用相同的方法禁用了它chmod -x /usr/bin/ssh-agent*
当我开始使用gpg
时,我发现它有一个类似的代理,就是我要问的那个。出于同样的原因,我立即禁用了它;我希望软件总是要求我输入密码才能使用私钥。我不希望出于任何原因缓存密码。
所以gpg2
看起来需要 gpg-agent
,我想问:
- 我是否对密码缓存的使用过于偏执?我很想看到或被指出对此的讨论。
- 是否有最佳实践可以更好地避免意外启用缓存密码?
- 有没有一种
gpg2
不用gpg-agent
跑就可以使用的方法? - 鉴于代理是能够回答查询的守护进程,是什么阻止了在本地计算机上运行的其他用户或服务能够访问我缓存或存储的凭据?
java - Java - 如何使用密码手动加密数据?
我试图加密和解密文件只是为了好玩。现在我正在使用 Base64,但我想使用密码短语。如果有某种方法可以在不使用这么多已经制作的类的情况下手动执行此操作,我将不胜感激。我喜欢自己做。
解决方案:正如@ThomasEdwin 所建议的,我已经检查了 Jasypt,它真的很有用,我会稍微使用一下这些工具,然后弄清楚我要使用源代码做什么。谢谢大家的帮助。
c# - 没有密码的 GPG 解密,在本地工作,但在 IIS 和托管环境上失败
我正在使用 gpg 加密解密,它在我的本地系统上运行良好(在 VS2015 上运行时)但是当我将它托管到服务器/或尝试从本地 IIS 运行它时它会失败。它不会提示任何运行时错误,但不会创建解密文件。这是命令:
我用于解密的代码:
错误 :
如何在不提示输入密码的情况下运行 gpg 解密命令?
prompt - 禁止 GPG 命令中的密码提示
编辑版本
我有一个关于 GPG 的问题,但我写了所有的过程,也许它会对某人有所帮助。
我想:禁止 GPG 命令中的密码提示。我不想:使用 -c 选项(--symmetric)。
我有 2 个系统 Linux 和 Windows。我想将数据从 Linux 发送到 Windows。我想在 Linux 中加密数据并在 Windows 中解密。
myFileOnLinux.txt
是我要加密的 Linux 上的文件。my@Email.com
配对键的 UID。myPasswordPhrase
是密码短语。
我在两者上都安装了 GPG 并执行了以下步骤:
生成一对密钥
/li>Windows
:更改中的关键参数
/li>Windows
:导出公钥:
/li>将公钥发送到 Linux 机器。
在 Linux 中导入公钥。
/li>更改 Linux 中的信任参数
/li>在 Linux 中加密文件
/li>将加密文件发送到 Windows。
解密文件。
/li>
在带有弹出窗口的 Windows 中,它Passphrase
再次询问我。我怎样才能避免它?
c - 如何从 C 中的密码生成 DES 密钥?
(不要与 DES 算法子密钥生成混淆)
(编辑:更多示例)
问题说明:
我这样做是作为学校作业的一部分,我需要在 C 中重新编码 OpenSSL 的部分内容,特别是与 PKI 密码系统有关的部分。ecb
到目前为止,我已经用、cbc
、3des-ecb
和3des-cbc
操作模式从头开始重新编写了核心 DES 算法。该项目的其他部分包括 MD5 和 SHA256。该项目的这一部分侧重于 RSA 密钥的生成、操作和使用。
RSA 密钥操作的一部分包括使用密码对给定密钥进行加密。(不像我以前用 DES 那样单独
使用纯key
+ )initial vector
这需要将用户输入的密码转换为 DES 密钥(以及需要的可选附加 IV),然后使用它来加密 RSA 密钥。我知道我正在寻找的函数的通用术语是PBKDF或Password-Based Key Derivation Function。但是,我无法(通过搜索man
OpenSSL 或谷歌的页面)找到 OpenSSL 中用于密钥派生的确切函数(或函数)。
演示 DES 密钥生成加密 RSA 密钥:
运行以下不带密码的命令会生成未加密的 RSA 密钥example_plain_key
。
然后运行以下命令将example_plain_key
使用des
密码ecb
模式进行加密。每个命令都将加密版本输出到一个新文件,因此它不会更改原始文件。对两个命令使用相同的密码(例如password)。
您可以使用head id_rsa
andhead id_rsa_1
查看加密密钥如何更改标头。如果您将两个新密钥与
它们的标头和格式相同,但密钥本身的加密方式不同,即使使用相同的密码。不同之处在于密钥生成(我相信)每次运行时都会生成一个新的随机盐。我会假设散列算法和迭代次数是相同的。此外,与/etc/shadow
unix 机器不同,盐似乎没有与密钥一起存储(或者至少我不知道如何阅读它)。
从密码生成 DES 密钥的演示:
更具体的 DES 示例是:
使用相同的密码多次运行上述命令将始终导致不同的密钥和 iv,可能是因为盐不同。
我的发现和推断的假设:
- 搜索“如何对 RSA 密钥进行加密? ”会出现很多关于使用 RSA 密钥进行加密的结果。(有时我对 Google 的 nlp 期望过高)
- 搜索“如何从密码短语生成 DES 密钥? ”会找到很多关于如何生成 16 轮 des 子密钥的结果。
我浏览了 OpenSSL 的来源,但没有运气。如果绝对必要,我会进行详尽的搜索,但代码不是最易读或可搜索的。
- perl 手册页
- 一个我认为比原来更有帮助的链接
(注意:我没有 OpenSSL 帐户,但认为不需要查看)
最有用的发现使我相信我正在寻找的示例原型看起来像这样:
我特别要找的东西:
(知道在哪里寻找这些答案比答案本身更有价值,但所有帮助都值得赞赏。我确实需要 C 中的标头/源/原型/等。)
- 像上面演示的那样运行的函数(如果存在)。它不一定是完美的匹配,我更关心它的作用而不是确切的原型设计或用法。
- 或者,(如果不存在)可以概括为我正在寻找的“算法”的“配方”或一系列操作。
- DES 密钥生成。(虽然包括多个密码,比如 AES,也很棒)
- 盐如何存储在加密的 RSA 密钥中,如果是(如果不是,如何恢复它)。我知道 IV 存储在用 CBC 中的密码加密的密钥的标头中。
c# - 将带有密码短语密钥的证书 X509 添加到 Web 服务请求
我在向我的 webService 请求添加新的 SSL 证书时遇到问题。
我得到了回应: 400 no required ssl certificate was sent nginx !!!!。
另外:当我使用 PostMan 或 SoapUI 时。我必须添加第三个密钥(密码)才能获得响应。例如:通过邮递员添加证书
我的问题是如何在我的请求 c# 中添加第三个参数(密钥)?
还有另一种方法可以根据我的请求实施证书???
gnupg - 为什么 pgp 在我使用 --passphrase-fd 后第一次询问密码
请看我的批处理文件:
即使我将密码添加到批处理文件中,它也会一直要求我输入密码。输入密码后,它运行良好,但我希望我的批处理文件以静默模式运行。请帮助我。
C:\Program Files (x86)\Gpg4win\bin>gpg --version
encryption - 使用 gpg 解密文件而不提示输入密码
我使用了以下命令,并且在不提示用户需要输入密码的窗口的情况下无法继续解密文件。我已经检查了谷歌和 stackoverflow 并没有找到我的问题的解决方案。
有人可以为我提供正确的输入来解决这个问题吗?
谢谢, 斯里尼瓦斯
c# - 我们如何避免 C# for Windows 中的 gnupg 密码提示?
我正在尝试将我们的旧代码从 gnupg1.x 升级到 gnupg2.2.4。这是在 Windows 机器上,我为 windows gnupg-w32-2.2.4_20171220.exe 安装了 gnupg。
我被卡住了,因为我的 C# 应用程序不断提示我输入密码和超时,并且无法解密文件并且进程失败。一直以来,这个应用程序在没有太多用户干预的情况下运行,我们仍然希望它这样。有没有办法避免每次 gnupg 尝试解密文件时出现的密码提示?这是我当前的代码基于来自该社区的其他反馈的样子,但我无法弄清楚我做错了什么。它当前创建一个空文件并且没有内容。虽然我的加密文件确实有内容。我还阅读了有关使用 gpg --preset-passphrase 的信息,但我的发布团队不鼓励我使用它。你能帮忙吗?