• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Java
  • 标签: SHA-256  加密算法  

资源简介

对SHA-256加密算法用java代码来实现

资源截图

代码片段和文件信息


/*@author  liulang
*@version  09.3.22
*@主要是有String实现
*@从文件“msg.txt“中读入消息
*@在将加密的细节写入到“SHA_256.txt“文件中
*/
import java.io.*;
public class SHA_256 {
    static String msg_binary=new String();//消息用二进制表示
    static StringBuffer str2=new StringBuffer();//可变字符串
    static String H0=“6a09e667“;//初始值
    static String H1=“bb67ae85“;
    static String H2=“3c6ef372“;
    static String H3=“a54ff53a“;
    static String H4=“510e527f“;
    static String H5=“9b05688c“;
    static String H6=“1f83d9ab“;
    static String H7=“5be0cd19“;
    static String ABCDEFGH;
    static PrintWriter out; //输入到文件
    static File file; //文件名
    static FileReader fls;
    static BufferedReader in; //文件输入流
    static long begin;  //程序运行前的时间
    static long end;     //程序运行后的时间
    static String[] k=new String[64];
    static String[] K={
        “428a2f98““71374491““b5c0fbcf““e9b5dba5““3956c25b““59f111f1““923f82a4““ab1c5ed5“
        “d807aa98““12835b01““243185be““550c7dc3““72be5d74““80deb1fe““9bdc06a7““c19bf174“
        “e49b69c1““efbe4786““0fc19dc6““240ca1cc““2de92c6f““4a7484aa““5cb0a9dc““76f988da“
        “983e5152““a831c66d““b00327c8““bf597fc7““c6e00bf3““d5a79147““06ca6351““14292967“
        “27b70a85““2e1b2138““4d2c6dfc““53380d13““650a7354““766a0abb““81c2c92e““92722c85“
        “a2bfe8a1““a81a664b““c24b8b70““c76c51a3““d192e819““d6990624““f40e3585““106aa070“
        “19a4c116““1e376c08““2748774c““34b0bcb5““391c0cb3““4ed8aa4a““5b9cca4f““682e6ff3“
        “748f82ee““78a5636f““84c87814““8cc70208““90befffa““a4506ceb““bef9a3f7““c67178f2“};
    static String [] w=new String[80];
    static int group_num=1;//组数
    static int mod=0;//最后一组的原始长度
    public static void main(String[] args) throws IOException {
        try{
             file=new File(“msg.txt“);
        boolean createok;
        if(!file.exists())          //判断文件是否存在
            createok=file.createNewFile(); //如果文件不存在,则在当前目录创建文件
         fls = new FileReader(file);
         in = new BufferedReader(fls);
        String msg=new String();
        msg=in.readLine();
        
        begin=System.currentTimeMillis();
        out=new PrintWriter(new FileWriter(“SHA_256.txt“));

        for(int i=0;i<64;i++)
            k[i]=hexToBinary(K[i]);
        msg_binary=stringToBinary(msg);
        final int SIZE=msg_binary.length();//消息变成二进制后的长度
        out.println(msg.length());
    
        mod=SIZE%512;

    out.println(msg_binary);
    out.println(SIZE);
    if(SIZE<448)
        group_num=1;
    else if(SIZE>=448&&SIZE<=512)
        group_num=2;
    else {
        if(mod<448)
            group_num=SIZE/512+1;
        else
            group_num=SIZE/512+2;
    }
    char[] cw=new char[512*group_num];///liulang
    
    for(int i=0;i        cw[i]=msg_binary.charAt(i);
    }
    
    String str1=new String(Integer.toBinaryString(SIZE));
    if(SIZE<448) {
        cw[S

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      14140  2012-05-08 09:56  SHA_256.java

     文件       2013  2010-10-03 12:34  www.wei2008.com.txt

----------- ---------  ---------- -----  ----

                16153                    2


评论

共有 条评论