`
zjx2388
  • 浏览: 1335969 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

产生5位随机数并进行MD5加密

    博客分类:
  • J2EE
阅读更多
package util;

//系统安全类
import java.security.*;

public class Encrype {
    //加密的算法名称
    private static final String encrypeType="MD5";

    //构造函数
    public Encrype() {
    }

    //随机生成5位随机数
    public final static String get5Radom(){
        String newString=null;

        //得到0.0到1.0之间的数字,并扩大100000倍
        double doubleP=Math.random()*100000;

        //如果数据等于100000,则减少1
        if(doubleP>=100000){
            doubleP=99999;
        }

        //然后把这个数字转化为不包含小数点的整数
        int tempString=(int)Math.ceil(doubleP);

        //转化为字符串
        newString=""+tempString;

        //把得到的数增加为固定长度,为5位
        while(newString.length()<5){
            newString="0"+newString;
        }

        return newString;
    }

    //主要把传递过来的字符串参数转化为经过MD5算法加密的字符串
    public final static String encrypeString(String neededEncrypedString) throws Exception{
        //初始化加密之后的字符串
        String encrypeString=null;

        //16进制的数组
        char[] hexDigits={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};

        //字符串的加密过程
        try {
            //把需要加密的字符串转化为字节数组
            byte[] neededEncrypedByteTemp=neededEncrypedString.getBytes();

            //得到MD5的加密算法对象
            MessageDigest md = MessageDigest.getInstance(encrypeType);

            //更新算法使用的摘要
            md.update(neededEncrypedByteTemp);

            //完成算法加密过程
            byte[] middleResult = md.digest();

            //把加密后的字节数组转化为字符串
            int length = middleResult.length;
            char[] neededEncrypedByte = new char[length * 2];
            int k = 0;
            for (int i = 0; i < length; i++) {
                byte byte0 = middleResult[i];
                neededEncrypedByte[k++] = hexDigits[byte0 >>> 4 & 0xf];
                neededEncrypedByte[k++] = hexDigits[byte0 & 0xf];
            }
            encrypeString = new String(neededEncrypedByte);
        } catch (NoSuchAlgorithmException ex) {
            throw new Exception(ex);
        }

        //返回加密之后的字符串
        return encrypeString;
    }
}

 

分享到:
评论

相关推荐

    40位的md5加密函数

    虽然“40位的MD5加密函数”这一说法在理论上并不符合MD5算法的标准定义,但从实际应用的角度来看,通过对MD5算法进行适当的扩展和修改,可以适应更多复杂的安全需求。然而,需要注意的是,MD5算法由于其已知的安全...

    java常用工具类 Random随机数、MD5加密工具类

    `encrypt` 方法接收一个字符串作为输入,通过 `MessageDigest.getInstance("MD5")` 创建一个MD5实例,然后对输入字符串的字节进行哈希计算,得到的结果是一组字节。为了将其转换为可读的32位十六进制字符串,遍历每...

    一种带随机数MD5算法的设计与实现 (1).pdf

    "一种带随机数MD5算法的设计与实现" 这篇论文主要介绍了一种带随机数的MD5算法的设计和实现。MD5算法是一种常用的哈希函数,常用于数据存储和信息加密。然而,随着网络技术的发展,信息安全变得越来越重要。因此,...

    MD5加密函数 for javascript

    MD5加密函数 for javascript 32位md5加密。例如用在用户登陆时的密码,可以在客户端...或者在某些特定的情况下用来生成风格统一的随机码---用时间组合随机数组成的字符串来进行md5加密,则得到一个类似guid的唯一编码。

    MD5Encode签名加密文件

    在本场景中,"MD5Encode签名加密文件"指的是使用MD5算法对数据进行编码并生成签名的过程,这通常与软件安全、数据验证和防止篡改有关。在小程序的开发中,签名机制是确保应用安全性和数据完整性的重要手段。 MD5...

    用MD5算法创建6位数字密码

    1. 获取当前日期(如年月日或者只取日),并加上一个序列号或随机数,形成一个字符串作为MD5的输入。 2. 对该字符串进行MD5计算,得到16进制的32位摘要。 3. 选择摘要的一部分,比如前8位或后8位,确保这部分在所有...

    用2次MD5技术实现登陆注册

    首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的数据转化为固定长度的摘要,通常为128位,以16进制表示就是32个字符。MD5的主要用途是验证数据的完整性,但在密码存储领域,它...

    MFC实现利用MD5和AES加解密,利用26个字母和0-9数字实现每次加密后密文不同,解密后明文正确

    在本文中,我们将深入探讨如何使用...通过MD5生成独特密钥和AES的高效加密解密能力,我们可以确保数据在传输和存储时的安全性。这样的实现为开发人员提供了强大的工具,帮助他们在MFC应用中实现高效而可靠的数据保护。

    MD5加密工具类

    一个简单工具类,运用移位算法直接将字符串转化为MD5加密格式,一般用于数据库密码加密

    c#中常用加密类(如Md5)

    2. 对字符串进行MD5加密: ```csharp string inputString = "Hello, World!"; byte[] inputBytes = Encoding.UTF8.GetBytes(inputString); byte[] hashBytes = md5.ComputeHash(inputBytes); ``` 3. 将哈希值...

    JavaMd5混合加密

    `java.security.MessageDigest`类用于实现MD5哈希计算,`javax.crypto.Cipher`类用于进行对称加密(如AES),`java.security.KeyGenerator`或`java.security.KeyPairGenerator`用于生成密钥,而`java.security....

    java-android:AES加密,RAS加密,DES加密,MD5加密,Base64加密,异或加密

    本文将详细介绍Java中常见的几种加密算法,包括AES加密、RSA加密、DES加密、MD5哈希加密、Base64编码以及异或(XOR)加密。理解并掌握这些算法对于开发安全的应用至关重要。 首先,AES(Advanced Encryption Standard...

    ios-MD5 AES RSA加密.zip

    在iOS中,我们可以利用Security框架提供的API来操作RSA密钥对,并进行加密解密操作。 在实际应用中,MD5通常用于生成数据的指纹,而AES用于大量数据的快速加密,RSA则用于安全地交换AES密钥或者实现数字签名。这些...

    SSH验证及加密

    由于MD5算法产生的摘要具有不可逆性,即使原始数据被篡改,其对应的MD5值也会发生明显变化。因此,服务器通常会存储用户密码的MD5散列值,而不是明文密码。当用户输入密码时,系统会计算输入密码的MD5值并与存储的...

    文件MD5,HA1等多种值获取器

    首先,MD5是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常以32个十六进制数字的形式表示。MD5的主要用途是检测文件是否被篡改或损坏。当文件被复制、传输或存储后,通过比较新旧MD5值,可以...

    PHP随机数 C扩展随机数

    在给定的示例代码中,为了生成固定长度的随机字符串,首先使用`uniqid()`生成一个唯一的ID,然后通过`md5()`将其转换为哈希值,接着使用`substr()`截取不同部分来创建一个8位的随机字符串。然而,这种方法虽然简单,...

    MD5-java.txt

    MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可以产生一个128位(16字节)的散列值。通过散列算法可以将任意长度的数据转换成一个固定长度的字符串,通常用于数据完整性检查、密码加密存储等...

    delphi 字符串带密钥简单加密解密

    压缩包中的"MD5加密钥加解密串测试"很可能是包含源代码、测试用例或者执行文件的资源,用于演示如何在Delphi程序中使用MD5和密钥进行字符串的加密和解密操作。这些文件可以帮助我们理解具体的实现细节,例如如何计算...

    一个php生成16位随机数的代码(两种方法)

    - **生成唯一HASH值**:使用`hash`或`md5`等哈希函数,结合当前时间戳和其他唯一标识,可以生成唯一的HASH值。 这些方法在不同的场景下各有优势,开发者可以根据具体需求选择合适的方法生成随机数。在处理敏感数据...

    一种二重加密方法在信息存储上的应用.pdf

    MD5算法是单向加密算法,仅能进行加密操作不能进行解密。MD5算法使用广泛,例如在身份验证、数字签名、数据完整性验证等领域。MD5算法的优点是高速、安全、不可逆,但缺点是容易碰撞攻击。 DES算法是对称加密算法,...

Global site tag (gtag.js) - Google Analytics