Java从JPBC库Element获取字符串

时间:2018-02-07 19:26:58

标签: java encryption cryptography element jpbc

我正在使用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);
    } 

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

谢谢

1 个答案:

答案 0 :(得分:0)

哈希不加密。 SHA-1是一个单向函数,即您可以猜测给定输出的输入,但您无法通过任何计算检索输入。

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

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

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

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