精华内容
下载资源
问答
  • java密码加密方法

    2009-05-19 14:31:01
    java密码加密,解密方法,一个好例子帮助大家学习!
  • 本文介绍了两种密码加密方法,这两种很常见可以再百度随意找到。1.摩斯密码;说道密码加密不得不提的方法。很是经典。首先说一下他的对照表,直接上图。核心思想就是替换明文密码,将字符对应的替换成-与.两种符号...

    本文介绍了两种密码加密的方法,这两种很常见可以再百度随意找到。

    1.摩斯密码;

    说道密码加密不得不提的方法。很是经典。

    首先说一下他的对照表,直接上图。

    0325763901be0570a7eb2806802f9eff.png

    493a7e9ac2e2c129cf06906b7cb2284b.png

    1da41791da5335f24df0e119c746e822.png

    73f4effa24b74f6d6973944a220d36e0.png

    核心思想就是替换明文密码,将字符对应的替换成-与.两种符号的组合;

    2、栅栏密码;

    所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)

    这个没有什么好说的了,举个栗子:对明文ASDFGHJKL进行加密;分成两组:基数位置一组,偶数位置一组。然后两组合并成ADGJLSFHK;

    我对这两种加密方式进行了结合,对一个明文密码进行了三重加密:第一层栅栏一次,第二层再栅栏一次,第三层再一次摩斯加密;

    先是栅栏部分:

    /*栅栏解密解密类*/

    public class Fence {

    /*加密部分*/

    public String encryption (String password){

    String p = new String();

    String p1 = new String();

    String p2 = new String();

    for (int i = 0; i < password.length(); i++){

    if(i%2 == 0)

    p1 += p.valueOf(password.charAt(i));

    else

    p2 += p.valueOf(password.charAt(i));

    }

    return p1+p2;

    }

    /*解密部分*/

    public String decode(String FencePassword){

    String password = new String();

    String p = new String();

    String p1 = FencePassword.substring(0, FencePassword.length()/2);

    String p2 = FencePassword.substring(FencePassword.length()/2);

    int i;

    for (i = 0; i < p1.length(); i++){

    password += p.valueOf(p1.charAt(i)) + p.valueOf(p2.charAt(i));

    }

    if(FencePassword.length()%2 != 0)

    password += p.valueOf(p2.charAt(i));

    return password;

    }

    }

    然后是摩斯部分:

    这一部分比较繁琐,在于摩斯密码与符号之间的匹配问题上,想着用一个数组去存储,然后循环进行匹配;但是我是一个不怕麻烦只求简单的一个人,就进行了一个个的比较;

    然后在摩斯加密解密的时候进行了两次的栅栏加密解密;这样用到加密解密的时候只要调用摩斯类的加密解密函数即可。

    /*摩斯加密解密类*/

    import java.util.StringTokenizer;

    public class Morse {

    /*摩斯密码与字符之间的匹配常量*/

    final String A = ".-";

    final String B = "---.";

    final String C = "-.-.";

    final String D = "-..";

    final String E = ".";

    final String F = "..-.";

    final String G = "--.";

    final String H = "....";

    final String I = "..";

    final String J = ".---";

    final String K = "-.-";

    final String L = ".-..";

    final String M = "--";

    final String N = "-.";

    final String O = "---";

    final String P = ".--.";

    final String Q = "--.-";

    final String R = ".-.";

    final String S = "...";

    final String T = "-";

    final String U = "..-";

    final String V = "...-";

    final String W = ".--";

    final String X = "-..-";

    final String Y = "-.--";

    final String Z = "--..";

    final String $0 = "-----";

    final String $1 = ".----";

    final String $2 = "..---";

    final String $3 = "...--";

    final String $4 = "....-";

    final String $5 = ".....";

    final String $6 = "-....";

    final String $7 = "--...";

    final String $8 = "---..";

    final String $9 = "----.";

    final String period = ".-.-.-"; // .

    final String colon = "---..."; // :

    final String comma = "--..--"; // ,

    final String semicolon = "-.-.-."; // ;

    final String question = "..--.."; // ?

    final String equal = "-...-"; // =

    final String doubleQuotation = ".-..-.";// "

    final String singleQuotation = ".----.";// '

    final String slash = "-..-."; ///

    final String exclamation = "-.-.--"; // !

    final String hyphen = "-....-"; // -

    final String underscore = "..--.-"; // _

    final String lroundBrackets = "-.--."; // (

    final String rroundBrackets = "-.--.-"; // )

    final String $ = "...-..-"; // $

    final String ampersand = ".-..."; // &

    final String at = ".--.-."; // @

    final String plus = ".-.-."; // +

    /*加密对应的匹配*/

    public String matching(String str) {

    switch (str) {

    case "A":

    return A;

    case "B":

    return B;

    case "C":

    return C;

    case "D":

    return D;

    case "E":

    return E;

    case "F":

    return F;

    case "G":

    return G;

    case "H":

    return H;

    case "I":

    return I;

    case "J":

    return J;

    case "K":

    return K;

    case "L":

    return L;

    case "M":

    return M;

    case "N":

    return N;

    case "O":

    return O;

    case "P":

    return P;

    case "Q":

    return Q;

    case "R":

    return R;

    case "S":

    return S;

    case "T":

    return T;

    case "U":

    return U;

    case "V":

    return V;

    case "W":

    return W;

    case "X":

    return X;

    case "Y":

    return Y;

    case "Z":

    return Z;

    case "0":

    return $0;

    case "1":

    return $1;

    case "2":

    return $2;

    case "3":

    return $3;

    case "4":

    return $4;

    case "5":

    return $5;

    case "6":

    return $6;

    case "7":

    return $7;

    case "8":

    return $8;

    case "9":

    return $9;

    case ".":

    return period;

    case ":":

    return colon;

    case ",":

    return comma;

    case ";":

    return semicolon;

    case "?":

    return question;

    case "=":

    return equal;

    case "\"":

    return doubleQuotation;

    case "\'":

    return singleQuotation;

    case "/":

    return slash;

    case "!":

    return exclamation;

    case "-":

    return hyphen;

    case "_":

    return underscore;

    case "(":

    return lroundBrackets;

    case ")":

    return rroundBrackets;

    case "$":

    return $;

    case "&":

    return ampersand;

    case "@":

    return at;

    case "+":

    return plus;

    }

    return " ";

    }

    /*摩斯加密*/

    public String encryption(String password) {

    Fence f = new Fence();

    password = f.encryption(password);

    password = f.encryption(password);

    String MorsePasswork = new String();

    String mp = new String();

    for (int i = 0; i < password.length(); i++) {

    mp = mp.valueOf(password.charAt(i));

    MorsePasswork += matching(mp) + "/";

    }

    return MorsePasswork;

    }

    /*解密对应换的匹配*/

    public String matching2(String str) {

    if (str.equals(A))

    return "A";

    else if (str.equals(B))

    return "B";

    else if (str.equals(C))

    return "C";

    else if (str.equals(D))

    return "D";

    else if (str.equals(E))

    return "E";

    else if (str.equals(F))

    return "F";

    else if (str.equals(G))

    return "G";

    else if (str.equals(H))

    return "H";

    else if (str.equals(I))

    return "I";

    else if (str.equals(J))

    return "J";

    else if (str.equals(K))

    return "K";

    else if (str.equals(L))

    return "L";

    else if (str.equals(M))

    return "M";

    else if (str.equals(N))

    return "N";

    else if (str.equals(O))

    return "O";

    else if (str.equals(P))

    return "P";

    else if (str.equals(Q))

    return "Q";

    else if (str.equals(R))

    return "R";

    else if (str.equals(S))

    return "S";

    else if (str.equals(T))

    return "T";

    else if (str.equals(U))

    return "U";

    else if (str.equals(V))

    return "V";

    else if (str.equals(W))

    return "W";

    else if (str.equals(X))

    return "X";

    else if (str.equals(Y))

    return "Y";

    else if (str.equals(Z))

    return "Z";

    else if (str.equals($0))

    return "0";

    else if (str.equals($1))

    return "1";

    else if (str.equals($2))

    return "2";

    else if (str.equals($3))

    return "3";

    else if (str.equals($4))

    return "4";

    else if (str.equals($5))

    return "5";

    else if (str.equals($6))

    return "6";

    else if (str.equals($7))

    return "7";

    else if (str.equals($8))

    return "8";

    else if (str.equals($9))

    return "9";

    else if (str.equals(period))

    return ".";

    else if (str.equals(colon))

    return ":";

    else if (str.equals(comma))

    return ",";

    else if (str.equals(semicolon))

    return ";";

    else if (str.equals(question))

    return "?";

    else if (str.equals(equal))

    return "=";

    else if (str.equals(doubleQuotation))

    return "\"";

    else if (str.equals(singleQuotation))

    return "\'";

    else if (str.equals(slash))

    return "/";

    else if (str.equals(exclamation))

    return "!";

    else if (str.equals(hyphen))

    return "-";

    else if (str.equals(underscore))

    return "_";

    else if (str.equals(lroundBrackets))

    return "(";

    else if (str.equals(rroundBrackets))

    return ")";

    else if (str.equals($))

    return "$";

    else if (str.equals(ampersand))

    return "&";

    else if (str.equals(at))

    return "@";

    else if (str.equals(plus))

    return "+";

    else

    return " ";

    }

    /*摩斯解密*/

    public String decode(String MorsePassword) {

    String password = new String();

    Fence f = new Fence();

    StringTokenizer p = new StringTokenizer(MorsePassword, "/");

    while (p.hasMoreElements()) {

    password += matching2(p.nextToken());

    }

    password = f.decode(password);

    password = f.decode(password);

    return password;

    }

    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import sun.misc.BASE64.../*** MD5+Base64加密* @author 于凤航*/public class Md5Base64 {public static String encode(Strin...

    import java.security.MessageDigest;

    import java.security.NoSuchAlgorithmException;

    import sun.misc.BASE64Encoder;

    /**

    * MD5+Base64加密

    * @author 于凤航

    */

    public class Md5Base64 {

    public static String encode(String s) {

    if (s == null)

    return null;

    String encodeStr = "";

    byte[] utfBytes = s.getBytes();

    MessageDigest mdTemp;

    try {

    mdTemp = MessageDigest.getInstance("MD5");

    mdTemp.update(utfBytes);

    byte[] md5Bytes = mdTemp.digest();

    BASE64Encoder b64Encoder = new BASE64Encoder();

    encodeStr = b64Encoder.encode(md5Bytes);

    } catch (NoSuchAlgorithmException e) {

    return null;

    }

    return encodeStr;

    }

    public static void main(String[] args) {

    System.out.println(Md5Base64.encode("123456"));

    }

    }

    展开全文
  • 主要介绍了JAVA 字符串加密、密码加密实现方法的相关资料,需要的朋友可以参考下
  • 主要介绍了java明文密码加密,对一个明文密码进行了三重加密:第一层栅栏一次,第二层在栅栏一次,第三层在一次摩斯加密,感兴趣的小伙伴们可以参考一下
  • 用户登录注册功能做密码加密时只需调用SHA()方法,注册用户时密码加密存入数据库,登录时把前端密码加密与数据库中密码作对比即可/*** 传入文本内容,返回 SHA-512 串** @param strText* @return*/public String SHA...

    用户登录注册功能做密码加密时只需调用SHA()方法,注册用户时密码加密存入数据库,登录时把前端密码加密与数据库中密码作对比即可

    /**

    * 传入文本内容,返回 SHA-512 串

    *

    * @param strText

    * @return

    */

    public String SHA512(final String strText) {

    return SHA(strText, "SHA-512");

    }

    /**

    * 字符串 SHA 加密

    * @param strText 字符数据

    * @param strType 加密格式

    * @return 加密结果

    */

    private String SHA(final String strText, final String strType) {

    // 返回值

    String strResult = null;

    // 是否是有效字符串

    if (strText != null && strText.length() > 0) {

    try {

    // SHA 加密开始

    // 创建加密对象 并传入加密类型

    MessageDigest messageDigest = MessageDigest

    .getInstance(strType);

    // 传入要加密的字符串

    messageDigest.update(strText.getBytes());

    // 得到 byte 类型结果

    byte byteBuffer[] = messageDigest.digest();

    // 将 byte 转换为 string

    StringBuffer strHexString = new StringBuffer();

    // 遍历 byte buffer

    for (int i = 0; i < byteBuffer.length; i++) {

    String hex = Integer.toHexString(0xff & byteBuffer[i]);

    if (hex.length() == 1) {

    strHexString.append('0');

    }

    strHexString.append(hex);

    }

    // 得到返回結果

    strResult = strHexString.toString();

    } catch (NoSuchAlgorithmException e) {

    logger.error("-01-字符串 SHA 加密异常-"+e.getMessage());

    e.printStackTrace();

    }

    }

    return strResult;

    }

    /**

    * 判断用户密码是否正确

    *

    * @param newpasswd 用户输入的密码

    * @param oldpasswd 数据库中存储的密码--用户密码的摘要

    * @return 用户密码是否正确

    * @throws NoSuchAlgorithmException

    * @throws UnsupportedEncodingException

    */

    public boolean checkpassword(String newpasswd, String oldpasswd)

    throws NoSuchAlgorithmException, UnsupportedEncodingException {

    if (SHA512(newpasswd).equals(oldpasswd)) {

    return true;

    } else {

    return false;

    }

    }

    展开全文
  • 文档加密常通过设置文档打开密码、启用文档编辑时的权限密码等方式;...使用工具:Free Spire.Presentation for Java(免费版)Jar文件获取及导入:方法1:通过官网下载jar包。Free Spire.Presentation for JAVA | ...

    文档加密常通过设置文档打开密码、启用文档编辑时的权限密码等方式;而解密则通过删除原有文档的密码或在此基础上重置新的密码。以下文章内容,将通过Java程序来实现通过以上方式来加密、解密PPT文档。

    使用工具:Free Spire.Presentation for Java(免费版)

    Jar文件获取及导入:

    方法1:通过官网下载jar包。

    Free Spire.Presentation for JAVA | 下载www.e-iceblue.cn
    ff7fd953b1e38908af68b27ba8b7d820.png

    下载文件后,解压,并将lib文件夹下的Spire.Presentation.jar文件导入Java程序。

    方法2:

    通过 Maven 仓库安装 Spire 系列 Java 产品www.e-iceblue.cn
    77c629276d935eadbbd4bbdb65e19b44.png

    Java代码示例

    【示例1】加密PPT

    import com.spire.presentation.*;
    
    public class Encrypt {
     public static void main(String[]args) throws Exception {
            //加载测试文档
            Presentation ppt = new Presentation();
            ppt.loadFromFile("test.pptx");
    
            //通过encrypt()加密时,即打开文档时需要输入密码
            ppt.encrypt("123456");
    
            //通过protect()加密时,即限制文档编辑,在进行文档编辑、打印时需要输入密码
            ppt.protect("654321");
    
            ppt.saveToFile("Encypted.pptx",FileFormat.PPTX_2013);
            ppt.dispose();
        }
    }

    文档打开时密码输入对话框效果:

    e82ef4c31cfd7b47322a392a4e8aa6a0.png

    选择是否启用编辑或只读:

    b284d21362b6918082bea6bf1763a153.png

    【示例2】解密PPT

    import com.spire.presentation.*;
    
    public class Decrypt {
     public static void main(String[]args)throws Exception{
            //加载带密码的ppt文档
            Presentation ppt = new Presentation();
            ppt.loadFromFile("Encrypt.pptx",FileFormat.PPTX_2013,"123456");
    
            //调用方法removeEncryption()移除密码
            ppt.removeEncryption();
    
            //若需要重置密码,在执行上一步代码步骤后,再调用encryp()方法重新加密文档
            ppt.encrypt("newpassword");
    
            //保存
            ppt.saveToFile("newencryped.pptx",FileFormat.PPTX_2013);
        }
    }

    执行代码后,可查看文档密码解除效果或重置效果。

    (本文完)

    展开全文
  • 在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简单的加密方法,分享给大家!如何用java实现字符串简单加密解密?为保证用户信息安全,系统在保存用户信息的时候,务必要将其密码加密保存到...
  • 代码如下: package com.example.demo.test; import ... ... /** * 数据库密码解密 */ public class DruidPasswordUtil extends DruidPasswordCallback { public static void main(S
  • java中用户登陆密码加密方法

    千次阅读 2017-09-26 17:29:52
    * 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash */ public static String entryptPassword(String plainPassword) { byte[] salt = Digests.generateSalt(SALT_SIZE); byte[] hashPassword = Digests...
  • java 密码加密--MD5以及异或加密

    千次阅读 2014-11-26 17:00:54
    一般密码不能直接保存明文,目前比较常用的密码加密方式是 MD5加密  MD5加密目前是不可逆的,但现在有很多对比破解md5的方法,所以我们可以在转成md5之前先处理一次。 处理的思路多种多样 方式一 可以在用户...
  • 如何在JAVA中使用MD5加密密码进行加密发布时间:2020-11-25 17:12:40来源:亿速云阅读:118作者:Leah本篇文章为大家展示了如何在JAVA中使用MD5加密密码进行加密,内容简明扼要并且容易理解,绝对能使你眼前一亮...
  • 在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简单的加密方法,分享给大家!如何用JAVA实现字符串简单加密解密?为保证用户信息安全,系统在保存用户信息的时候,务必要将其密码加密保存到...
  • Java-密码加密

    2016-07-02 11:20:46
    介绍两种密码加密方法: 这两种很常见可以再百度随意找到。 1.摩斯密码;说道密码加密不得不提的方法。很是经典。 首先说一下他的对照表,直接上图。 核心思想就是替换明文密码...
  • 数据库密码加密方法

    千次阅读 2019-05-28 15:57:32
    去网上下载druid-1.0.13.jar 数据库密码加密 1.cmd 切换到druid目录 我的是D: 2.运行命令 java -cp druid-1.0.13.jar com.alibaba.druid.filter.config.ConfigTools 密码
  • 下载类库 Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dllMicrosoft.Practices.EnterpriseLibrary.Security.dllMicrosoft.Practices.EnterpriseLibrary.Common2....类 方法//...
  • 那么如何实现对数据库密码加密呢,,因为喜欢开源,接下来就奉献给大家。最开始的想法是通过tomcat的源码从catalina.java这个加载类开始找,看连接池是如何加载的,然后修改这个类,重新ant。后来发现了连接池用的...
  • 分享给大家供大家参考,具体如下:实现功能:自动压缩并加密/**** @Title: zipFilesAndEncrypt* @Description: 将指定路径下的文件压缩至指定zip文件,并以指定密码加密,若密码为空,则不进行加密保护* @param ...
  • 我试图将我的字符串放入列而不使用数组加密但不知道如何继续而不使用数组请帮助:我需要让他们这样:3 1 2S E LL A LL S TO C KS N OW样本输出:生成密钥:213输入您要编码的秘密消息:立即售出所有股票加密消息:...
  • 博文链接:https://llying.iteye.com/blog/171256
  • 使用 RSA 前端加密,后端解密的解决方法2018-09-25 11:26:45作者:MangoCool来源:MangoCool现在 web 项目中,用户注册登录场景下的表单提交,密码基本都是经过加密的,这种基于安全考虑的做法是很有必要的。...
  • MD5实现密码加密方法

    2017-01-12 00:41:15
    注册时从页面获得密码,对密码进行加密之后形成字符串并且存入数据库,在登陆时,在页面获得输入的密码经过加密之后的获得的字符串与数据库查询出来的字符串进行匹对,如果实现匹对则进行登陆,具体方法如下 ...
  • java 密码MD5加密

    2019-05-25 10:37:12
    密码MD5加密,字符串换码32位大写字母 方法: public static String MD5(String pwd) { // 用于加密的字符 char md5String[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D'...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,035
精华内容 414
关键字:

java密码加密方法

java 订阅