首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据保存在KeyStore上,并使用密钥链检索数据

将数据保存在KeyStore上,并使用密钥链检索数据
EN

Stack Overflow用户
提问于 2016-07-20 16:57:11
回答 2查看 1.6K关注 0票数 4

我想将一些敏感数据(字符串)保存在keyStore中。我发现keyStore只接受secretKey对象。但是,我不能通过keyChain回调使用secretKeyalias名称来存储和检索它

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2016-07-21 14:21:29

我觉得你看起来有点像MD5。通过获取任意长度的字符串并将其编码为128位指纹来创建MD5散列。使用MD5算法对相同的字符串进行编码将始终产生相同的128位散列输出。在诸如流行的MySQL之类的数据库中存储密码、信用卡号码或其他敏感数据时,MD5哈希通常与较小的字符串一起使用。此工具提供了一种快速而简单的方法,可以从长度不超过256个字符的简单字符串对MD5散列进行编码。

MD5哈希还用于确保文件的数据完整性。由于MD5散列算法始终为相同的给定输入生成相同的输出,因此用户可以将源文件的散列与新创建的目标文件的散列进行比较,以检查其是否完整且未被修改。

使用MD5对字符串进行哈希处理:

公共类JavaMD5Hash {

代码语言:javascript
复制
public static void main(String[] args) {

        String password = "MyPassword123";

        System.out.println("MD5 in hex: " + md5(password));


        System.out.println("MD5 in hex: " + md5(null));
        //= d41d8cd98f00b204e9800998ecf8427e


        System.out.println("MD5 in hex: " 
            + md5("The quick brown fox jumps over the lazy dog"));
        //= 9e107d9d372bb6826bd81d3542a419d6
}


public static String md5(String input) {

    String md5 = null;

    if(null == input) return null;

    try {

    //Create MessageDigest object for MD5
    MessageDigest digest = MessageDigest.getInstance("MD5");

    //Update input string in message digest
    digest.update(input.getBytes(), 0, input.length());

    //Converts message digest value in base 16 (hex) 
    md5 = new BigInteger(1, digest.digest()).toString(16);

    } catch (NoSuchAlgorithmException e) {

        e.printStackTrace();
    }
    return md5;
}

}

参考:http://viralpatel.net/blogs/java-md5-hashing-salting-password/

https://www.mkyong.com/java/java-md5-hashing-example/

http://www.asjava.com/core-java/java-md5-example/

票数 0
EN

Stack Overflow用户

发布于 2016-07-20 17:01:18

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38476728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档