java 密钥保存在哪里_您将密钥存储在Java Web应用程序中?

密码学是广泛采用的技术,以确保机密性.不考虑实施缺陷,它有一个关键点:秘密密钥存储.如果秘密密钥被盗,整个系统将被盗用.

编辑:

让我指出上下文使问题不那么宽泛:

>这里一个java web应用程序被解决

更具体地说,它是使用弹簧框架版本3

> spring security 3.1用于保护应用程序

>一个mysql5数据库是可用的

>应用服务器是tomcat6或tomcat7

>服务器机器不在我的控制之下

也许这些问题可能集中在这种情况下,但正如所指出的那样,秘密密钥存储的问题横跨于所采用的技术.然而,一些图书馆可能提供可以以某种方式促进工作的特殊功能.

一个明确的一点是,必须在安全性和实际操作的需要之间找到权衡.要完成分析,显然所需的安全级别取决于要保护的信息的价值.翻转我们的头脑来执行超级安全的策略(要求非常多的努力)是保密的客户的鞋子是毫无意义的.

在这里,我必须确保一个电子邮件密码(将存储在数据库中).我认为这个信息平均至关重要.

我在这里寻找,是合理努力的最好的解决方案.

所以问题很清楚:你在哪里存储这些信息?

>你将它存储在数据库中吗?所以应该加密,这需要另一个键(你在哪里存储第二个键?)

>你将它存储在.war包中吗?如何防止未经授权的访问来源?

>你采取不同的策略吗?

您的策略的动机将不胜感激.

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想要在Java Web应用接收加密字符串,你需要执行以下步骤: 1. 客户端或应用程序对要发送的数据进行加密,可以使用对称加密算法(如AES)或非对称加密算法(如RSA)。 2. 在Java Web应用,可以使用POST方法将加密的字符串发送到web接口。 3. 在Java Web应用的Controller,可以通过@RequestBody注解接收POST请求的加密字符串,并解密它。 4. 在解密后,你可以将解密后的数据进行处理,例如将其转换为Java对象或存储在数据库。 以下是一个简单的示例代码,它演示了如何在Spring Boot接收加密字符串: ```java import org.springframework.web.bind.annotation.*; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.util.Base64; @RestController public class MyController { @RequestMapping(value = "/my-api", method = RequestMethod.POST) public String myApi(@RequestBody String encryptedData) throws Exception { //解密加密字符串 String decryptedData = decryptData(encryptedData, "my-secret-key"); //将解密后的数据存储到数据库或进行其他操作 //TODO: do something with decrypted data //返回响应 return "OK"; } //使用AES算法解密数据 private String decryptData(String encryptedData, String secretKey) throws Exception { Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(StandardCharsets.UTF_8), "AES"); cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); byte[] decryptedBytes = cipher.doFinal(Base64.getMimeDecoder().decode(encryptedData.getBytes(StandardCharsets.UTF_8))); return new String(decryptedBytes, StandardCharsets.UTF_8); } } ``` 这个示例使用的是AES算法解密加密字符串。你需要将“my-secret-key”替换为你的真实密钥,并根据实际情况修改解密算法和密钥长度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值