【问题标题】:Java Get String from JPBC library ElementJava 从 JPBC 库元素中获取字符串
【发布时间】:2018-02-07 19:26:57
【问题描述】:

我正在使用 jpbc java 库来实现 HIBE 加密,以便对 String 数据进行加密和解密。

在这种情况下,我找到了一个函数,它允许我从字符串中获取一个元素,如下所示,它使我能够加密和解密这个元素:

private static void elementFromString(Element h, String s) throws NoSuchAlgorithmException 
    {
        MessageDigest md = MessageDigest.getInstance("SHA-1");
        byte[] digest = md.digest(s.getBytes());

        h.setFromHash(digest, 0, digest.length);
    } 

但是现在,我需要一个解决方案来在解密后从元素中获取字符串数据,或者任何其他想法都可以帮助我。

谢谢

【问题讨论】:

    标签: java encryption cryptography element jpbc


    【解决方案1】:

    散列不是加密。 SHA-1 是一种单向函数,即您可以根据输出猜测输入,但无法通过任何计算检索输入。

    要加密和解密,您需要一个密码。密码通常由分组密码和操作模式组成,例如"AES/GCM/NoPadding"。有点令人惊讶,它由 Java Cipher 类表示。

    您可能需要生成一个密钥或密钥对并将其存储在某处,例如KeyStore


    在不了解您在做什么的情况下尝试执行加密可能会导致代码最终运行。但是,它安全的可能性很小。首先尝试了解该主题。

    请注意,对字符串调用 getBytes 会导致特定于平台的编码。如果您将来切换平台,这可能会很有趣。明确指定 UTF-8 是个好主意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-26
      • 2014-09-20
      • 2019-01-28
      • 2021-11-26
      • 2023-03-26
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多