美文网首页
leancloud 密码加密算法 Java版

leancloud 密码加密算法 Java版

作者: jiangadam | 来源:发表于2016-07-22 11:02 被阅读306次

在leancloud的后台发现导出数据的时候密码加密算法只提供了Ruby和C##的,现在自己写的后台使用的Java,无奈只能自己对照写一个Java的加密算法,基于leancloud完成的加密算法:

salt : fgymbrn2jjozuzm47md4sgopn8ojp3g5fgjbwgbj71hopd61
password : 123456

leancloud _User表里面保存的密码为:w+iSpZN8Jes4XrquQ7fplTsNA6I8tPHv80OAAtvXLFFjsUZb8Ce7PrAjPp3EPZYPB794w2J+0Z+esN9wntJJ0g==

以下是代码:

/**
     * @param password
     * @param salt
     * 用户密码加密算法
     *  1、创建 SHA-512 加密算法 hasher
     *  2、使用 salt 和 password(原始密码) 调用 hasher.update
     *  3、获取加密后的值 hv
     *  4、重复 512 次调用 hasher.update(hv),每次hv都更新为最新的 hasher.digest 加密值
     *  5、最终的 hv 值做 base64 编码,保存为 password
     * @return
     * @throws NoSuchAlgorithmException 
     * @throws UnsupportedEncodingException 
     */
    public static String test(String password, String salt) throws UnsupportedEncodingException, NoSuchAlgorithmException{
        password = salt + password;
        
        MessageDigest messageDisgest = MessageDigest.getInstance("SHA-512");
        messageDisgest.update(password.getBytes());
        
        byte byteBuffer[] = messageDisgest.digest();
        
        for(int i = 0; i < 512; i ++){
            byteBuffer = messageDisgest.digest(byteBuffer);
        }
        
        return new String(Base64.encodeBase64(byteBuffer), "UTF-8");

    }

main函数:

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.apache.commons.codec.binary.Base64;

public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
        System.out.println("main");
        String password = test("123456", "fgymbrn2jjozuzm47md4sgopn8ojp3g5fgjbwgbj71hopd61");
        System.out.println("password : " + password);
    }

控制台输出:

控制台输出

一毛一样。

本文链接 www.bigcode.top

请支持原创。

相关文章

  • leancloud 密码加密算法 Java版

    在leancloud的后台发现导出数据的时候密码加密算法只提供了Ruby和C##的,现在自己写的后台使用的Java...

  • Java中的加密算法(二)

    1.对称加密算法1.1对称加密算法-DES 在Java中的加密算法(一)中主要讲解了密码中常用的术语,Java安全...

  • Hexo 集成 Valine 评论系统

    第一步:注册Leancloud,获取 AppID 和 AppKey 推荐使用国际版,点击进入Leancloud官网...

  • 给简历添加数据库

    预览链接:预览 LeanCloud 简介 官网:LeanCloud 开发版:免费的针对开发阶段和个人项目解决方案,...

  • 初等数据加密——对称加密算法

    对称加密算法是当今应用范围最广,使用频率最高的加密算法。根据加密方式分为密码和分组密码,分组密码工作模式又可分为E...

  • encyption&decyption

    0, 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 常用加密算法的Java实现总结(二) ...

  • RSA加密算法(java版)

    算法简介 RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。 算法实现 1、RSAU...

  • Java加解密学习笔记

    java加解密 密码常用术语 明文:待加密信息 密文:经过加密后的明文 加密:明文转为密文的过程 加密算法:明文转...

  • JAVA加密系列(二)- 对称加密算法 DES、AES

    JAVA加密系列(二)- 对称加密算法 DES、AES 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加...

  • Java实现常用的三种加密算法详解

    Java实现常用的三种加密算法详解 信息摘要算法、对称加密算法以及非对称加密算法。本文将利用Java实现这几种常见...

网友评论

      本文标题:leancloud 密码加密算法 Java版

      本文链接:https://www.haomeiwen.com/subject/yjlijttx.html