记录一次偶然的JAVA学习

下午闲着无聊 用python写了个字典转MD5字典的脚本

 

 

import requests
import hashlib
def baopo(script):
    print(u"                                 转化开始:")
    str=open(script).read()
    str_list=str.split('\n')
    print(str_list)
    filename = "result.txt"
    f = open(filename,'w')
    for i in str_list:
        str1 = i
        m = hashlib.md5()  #创建md5对象
        m.update(str1.encode("utf-8"))
        m = m.hexdigest()
        f.write(m + "\n")
    print(u"转换结束!")
    f.close()


baopo("1.txt")

然后我突发奇想,最近不是刚学JAVA吗,用JAVA实现以下吧,然后我就写了两个小时

看着没几句话,其实这是第二版,第一版我写了一个多小时,主要还是因为java的函数和模块知道的太少了,有些东西硬写的,还一直报错

 

 

 

 

 

import java.io.*;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
import java.util.*;

public class Str {
    public static void main(String[] args) throws Exception{
        FileInputStream fl = new FileInputStream("C:\\Users\\87\\Desktop\\java\\1.txt"); //设置文件流
        Scanner sc = new Scanner(fl);  //可以获取用户的输入,文件里的就可以获取
        List <String>list =new ArrayList<String>();  //设置一个list 这里加了ArrayList<String> 要不然报错,这方面我也没研究,照着做了
        while(sc.hasNextLine()) {  //当有下一行时候  hasNextLine的作用
            list.add(sc.nextLine());  //添加到list里
        }

BufferedWriter out = new BufferedWriter(new FileWriter("result.txt"));  //设置变量输出文件
for (String value : list) {   //超级循环遍历
  System.out.println(value);
  String strmd = Str.Md5(value);
  System.out.println(strmd);
  out.write(strmd);
  out.write('\n');
}
  out.close();
  System.out.println("success");

      }


//以下是字符串转换为MD5的,太麻烦了直接扒别人的,真的难写
public static String Md5(String str1){
    String reStr = null;
    try {
      MessageDigest md5 = MessageDigest.getInstance("MD5");
      byte[] bytes = md5.digest(str1.getBytes());
      StringBuffer stringBuffer = new StringBuffer();
      for (byte b : bytes){
        int bt = b&0xff;
        if (bt < 16){
          stringBuffer.append(0);
        }  
        stringBuffer.append(Integer.toHexString(bt));
      }
      reStr = stringBuffer.toString();
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }
    return reStr;
  }
}

 

运行结果:

 

 然后这是第一版,我都不知道我在写什么...............只能实现一行,第二行还没实现,一开始我拿python的思维去想,要把它split掉,结果试了半天不行

 

 

 

总结:虽然过程很艰难,但总的来说通过这次写java让我进步了很多,也学到了很多模块和函数,果然写脚本还得是python,然后JAVA还得继续学

posted @ 2021-04-18 18:29  paku  阅读(64)  评论(0编辑  收藏  举报