问题标签 [secret-key]

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 投票
3 回答
4552 浏览

web-config - 存储 Amazon AWS Id 和密钥最安全的地方在哪里?

我正在使用 ASP.NET 开发应用程序。我想知道存储 Amazon AWS Id 和密钥最安全的地方在哪里?

我想到了两种可能性: 在实际的 AmazonAPI.cs(类)本身作为私有成员。二、作为web.config中的appSettings变量?

为了使用适用于 .NET 的 AWS API,我必须在 API 调用中提供这些凭证。我不使用网络服务拨打电话。调用是通过我专门为封装 Amazon API 调用而制作的 .cs 类文件进行的。

您能否:提供一个示例代码来演示如何完成它(一个好方法就像在这里找到的那​​样) - 如果使用 ASP.NET 4.0,可能会有更好的方法,但我不确定。同样,我想在 web.config 中加密以下内容:

谢谢。

顺便说一句:还有一个使用 IAM 用户临时凭证的选项——你知道吗?

0 投票
8 回答
3458 浏览

java - 如何在java中将密钥归零?

以下 java 代码是否足以清除内存中的密钥(将其所有字节值设置为 0)?

换句话说,该getEncoded方法是否返回对实际键的副本或引用?如果返回副本,那么如何清除密钥作为安全措施?

0 投票
3 回答
3270 浏览

php - 如何通过使用 PHP 在命令中传递“gpg 密码”来解密加密文件?

我想知道如何通过在命令行中传递密码/密钥来解密文件。

我尝试使用它,但它仍然提示我输入密码。

echo shell_exec("echo $passphrase | gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");

我的目标是用 PHP 创建一个可以自动解密文件的程序。

0 投票
1 回答
168 浏览

java - 为什么我似乎无法生成相同的基于密码的加密密钥?

我正在开发一些 Java 软件,它需要使用两个单独的软件在网络连接的两端加密和解密信息。为了缓解这个问题,我有一个类 Cryptographer 来处理数据的加密。截至目前,Controller(连接的一侧)和 Agent(另一侧)都使用此类根据两个程序之间共享的密码生成 SecretKey。

密钥是在 Cryptographer 类的这个函数中生成的:

加密本身发生在 encrypt 函数中:

它被解密函数解密:

加密似乎工作正常,但是当我尝试在接收端解密序列化对象时,会抛出 InvalidKeyException。比较在控制器和代理上独立生成的密钥表明,尽管它们来自相同的密码,但它们不会生成相同的密钥。

现在,我是 Java 加密的新手,所以我完全有可能在这里做错了什么。似乎我缺少一个随机元素。目标是让连接的每一端从相同的密码生成相同的密钥。那么我在做什么显然是错误的?如果您需要查看更多代码,请告诉我。我很乐意发布它。

0 投票
2 回答
808 浏览

java - 我应该多次使用同一个密钥吗?

我正在为计算机安全课程开发一个基于 Java SE 的应用程序(大学内部网),该课程通过 HTTP 请求将注册用户的密码(AES 加密)发送到服务器。它执行以下步骤:

  1. 用户注册到 Intranet 应用程序。
  2. 客户端发送一个包含学生密码的 HTTP 请求,使用 AES 加密。
  3. PHP 脚本现在解密 AES 密文并对其进行哈希处理。
  4. 哈希密码存储在数据库中。

现在,根据我对 AES 的了解,我需要一个密钥作为加密过程的一部分。由于服务器脚本需要密钥来解密密码,所以每次使用相同的密钥是不是一个坏主意?一旦脚本接收到密文,它将使用单向哈希函数将其存储在数据库中。

0 投票
2 回答
575 浏览

facebook - 事件应用密钥

如何找到我的标准 Facebook 活动应用程序密钥?我需要它在 Wordpress 中使用 Facebook 事件小部件

0 投票
3 回答
41533 浏览

java - Java AES:没有安装的提供程序支持此密钥:javax.crypto.spec.SecretKeySpec

我正在尝试设置 128 位 AES 加密,但在我的 Cipher.init 上抛出异常:

No installed provider supports this key: javax.crypto.spec.SecretKeySpec

我正在使用以下代码在客户端生成密钥:

然后将此密钥作为标头传递给服务器。它是使用此函数进行 Base64 编码的:

服务器拉出标题,并执行

为了调试它,我在客户端的密钥生成之后和服务器端的 cipher.init 之前放置了断点。根据 Netbeans 的说法,组成 SecretKey 的字节是相同的,长度为 16 个字节(事实上,据我所知,对象是相同的)。

我知道无限强度的 JCE 东西,但我并不认为我需要 128 位 AES。

客户端:java版本“1.6.0_26”

服务器端:java版本“1.6.0_20”

有任何想法吗?

0 投票
1 回答
9928 浏览

facebook - 通过 API Key/Secret 获取 Facebook App ID

我的数据库中存储了来自所有旧 Facebook 应用程序的一大堆 API 密钥/秘密。但是,Facebook 仅支持我没有的应用程序 ID 的 API 密钥。我尝试通过以下方式获取它:

https://api.facebook.com/method/fql.query?query=select+app_id,api_key,+canvas_name,+display_name+from+application+where+api_key=322f44d0eec1544f6f3eea32a1af6142

但没有骰子,我只能使用 App ID 进行选择,例如:

https://api.facebook.com/method/fql.query?query=select+app_id,api_key,+canvas_name,+display_name+from+application+where+api_key=19670737304

如果没有他们的 App ID,我将无法登录用户或获取他们的用户 ID。有没有人知道我怎样才能得到它们,或者我不能得到它们?

0 投票
0 回答
125 浏览

facebook-graph-api - 在没有服务器组件的情况下安全解锁 Facebook 成就?

解锁 Facebook 成就需要您使用应用程序访问令牌而不是用户访问令牌 - 大概是因为用户无法通过图形 API 调用解锁他们自己的成就。应用程序令牌是您的应用程序 ID(公共知识)和您的应用程序密钥(私有)的组合。当您的应用程序具有服务器组件时,这很容易实现,因为您可以安全地将应用程序密钥嵌入服务器代码中,而不必担心它会泄漏,并且只需在满足条件时请求您的服务器解锁成就。但是,如果您的应用程序没有服务器组件(即:它是本机 iOS 或 Android 应用程序),那么如果不将密钥嵌入您的应用程序二进制文件中,似乎就无法解锁成就(坏事)。

0 投票
2 回答
477 浏览

php - Ajax 到 API 而不暴露 KEY

我很确定我要问的答案是否定的,但也许有人可以给我一个不同的想法,所以我还是要问。

我正在开发一个控制面板,它通过 API 调用从第 3 方网络服务中获取信息。我可以使用 AJAX 进行调用,它会在浏览器上以毫秒为单位返回结果,但我会公开此服务的 API 密钥。即使这是一个访问受限的 Intranet,员工也可以通过仅查看 Safari 的活动窗口来四处嗅探并获取私有 API 密钥。员工是值得信赖的,但我不想仅仅因为信任而冒着我的发展安全风险。

我现在正在做的是 AJAXing 一个 php,它使用 CURL 调用进行调用,但这样做大约需要 2 或 3 秒:不是 php 本身,共享主机到第 3 方服务器并返回。

有没有办法让浏览器直接向 API 发出请求而不暴露私钥?我认为根据定义这是不可能的,但我正在分享这个场景,所以也许有人有更好的主意(我试图避免缓存,因为获取的信息会在第二秒发生变化)

不是问题,我对此有疑问:如果我通过 Mac OS 终端或本地 Apache 上的 CURL 进行 API 调用,每次需要大约 12 秒才能获得结果,但浏览器在完全相同的计算机和连接中以毫秒为单位。我对 CURL 内部的工作方式不是很熟悉,但 CURL 是一种缓慢的机制,或者在我的 Mac 中无法正常工作。

谢谢