问题标签 [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.
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 用户临时凭证的选项——你知道吗?
java - 如何在java中将密钥归零?
以下 java 代码是否足以清除内存中的密钥(将其所有字节值设置为 0)?
换句话说,该getEncoded
方法是否返回对实际键的副本或引用?如果返回副本,那么如何清除密钥作为安全措施?
php - 如何通过使用 PHP 在命令中传递“gpg 密码”来解密加密文件?
我想知道如何通过在命令行中传递密码/密钥来解密文件。
我尝试使用它,但它仍然提示我输入密码。
echo shell_exec("echo $passphrase | gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file");
我的目标是用 PHP 创建一个可以自动解密文件的程序。
java - 为什么我似乎无法生成相同的基于密码的加密密钥?
我正在开发一些 Java 软件,它需要使用两个单独的软件在网络连接的两端加密和解密信息。为了缓解这个问题,我有一个类 Cryptographer 来处理数据的加密。截至目前,Controller(连接的一侧)和 Agent(另一侧)都使用此类根据两个程序之间共享的密码生成 SecretKey。
密钥是在 Cryptographer 类的这个函数中生成的:
加密本身发生在 encrypt 函数中:
它被解密函数解密:
加密似乎工作正常,但是当我尝试在接收端解密序列化对象时,会抛出 InvalidKeyException。比较在控制器和代理上独立生成的密钥表明,尽管它们来自相同的密码,但它们不会生成相同的密钥。
现在,我是 Java 加密的新手,所以我完全有可能在这里做错了什么。似乎我缺少一个随机元素。目标是让连接的每一端从相同的密码生成相同的密钥。那么我在做什么显然是错误的?如果您需要查看更多代码,请告诉我。我很乐意发布它。
java - 我应该多次使用同一个密钥吗?
我正在为计算机安全课程开发一个基于 Java SE 的应用程序(大学内部网),该课程通过 HTTP 请求将注册用户的密码(AES 加密)发送到服务器。它执行以下步骤:
- 用户注册到 Intranet 应用程序。
- 客户端发送一个包含学生密码的 HTTP 请求,使用 AES 加密。
- PHP 脚本现在解密 AES 密文并对其进行哈希处理。
- 哈希密码存储在数据库中。
现在,根据我对 AES 的了解,我需要一个密钥作为加密过程的一部分。由于服务器脚本需要密钥来解密密码,所以每次使用相同的密钥是不是一个坏主意?一旦脚本接收到密文,它将使用单向哈希函数将其存储在数据库中。
facebook - 事件应用密钥
如何找到我的标准 Facebook 活动应用程序密钥?我需要它在 Wordpress 中使用 Facebook 事件小部件
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”
有任何想法吗?
facebook - 通过 API Key/Secret 获取 Facebook App ID
我的数据库中存储了来自所有旧 Facebook 应用程序的一大堆 API 密钥/秘密。但是,Facebook 仅支持我没有的应用程序 ID 的 API 密钥。我尝试通过以下方式获取它:
但没有骰子,我只能使用 App ID 进行选择,例如:
如果没有他们的 App ID,我将无法登录用户或获取他们的用户 ID。有没有人知道我怎样才能得到它们,或者我不能得到它们?
facebook-graph-api - 在没有服务器组件的情况下安全解锁 Facebook 成就?
解锁 Facebook 成就需要您使用应用程序访问令牌而不是用户访问令牌 - 大概是因为用户无法通过图形 API 调用解锁他们自己的成就。应用程序令牌是您的应用程序 ID(公共知识)和您的应用程序密钥(私有)的组合。当您的应用程序具有服务器组件时,这很容易实现,因为您可以安全地将应用程序密钥嵌入服务器代码中,而不必担心它会泄漏,并且只需在满足条件时请求您的服务器解锁成就。但是,如果您的应用程序没有服务器组件(即:它是本机 iOS 或 Android 应用程序),那么如果不将密钥嵌入您的应用程序二进制文件中,似乎就无法解锁成就(坏事)。
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 中无法正常工作。
谢谢