【问题标题】:Asymmetric cryptography with public key and private key具有公钥和私钥的非对称密码学
【发布时间】:2018-06-12 13:20:40
【问题描述】:

我是非对称密码学的初学者。我对公钥和私钥的基本非对称加密有所了解,但我想用 java 编程来实现它,以进行身份​​验证,如登录用户名和密码。我不知道如何实现公钥并将其存储到数据库并从我的输入密码生成私钥以使用公钥进行验证。另外我看到了其他方法,如BCryptSCrypt 密码散列函数,它们很好用吗?如果我写错了请指教。请提供一些代码让我知道它。提前谢谢!

【问题讨论】:

  • 首先研究非对称密钥密码学,如RSA。知道算法然后实现它
  • 不确定我是否理解正确:您的用例是什么?如果你想执行登录/密码验证,那么散列是正确的方法。
  • 我的用例希望安全登录身份验证。但我不知道如何用java实现它。再次感谢您!
  • @mb0850 RSA 是随机生成密钥,我想用我的密码作为私钥。
  • @Jony 到目前为止你尝试过什么?

标签: java cryptography public-key-encryption private-key public-key


【解决方案1】:

如果您打算使用登录名和密码进行身份验证,例如在 Web 服务中,那么您不需要编写任何自定义代码。许多 java 框架都支持相同的。

然后你想安全地存储密码,使用一些散列函数、SHA256、bcrypt 等。同样,spring security、keycloak 等框架会处理这个问题。这一切都是为了正确配置这些框架。为此,您肯定需要对底层概念有所了解,但您不必编写任何代码。

【讨论】:

    猜你喜欢
    • 2013-08-04
    • 2017-01-12
    • 1970-01-01
    • 2018-07-19
    • 2011-03-27
    • 2019-12-29
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多