修复java错误并获取用户输入

修复java错误并获取用户输入,java,Java,有人能做到吗?我对java的了解很少,我想得到一个脚本,该脚本将通过与程序相同的散列来运行一个单词,看看是否可以从相同的代码中获得类似的结果。爪哇 import java.util.List; import java.security.MessageDigest; /* BASIC FORMAT OF WHAT I WOULD LIKE SOMEONE TO FIX ONLY WANT TO ENCRYPT VIA THIS METHOD*/ public class encrypt {

有人能做到吗?我对java的了解很少,我想得到一个脚本,该脚本将通过与程序相同的散列来运行一个单词,看看是否可以从相同的代码中获得类似的结果。爪哇

import java.util.List;

import java.security.MessageDigest;
/*
BASIC FORMAT OF WHAT I WOULD LIKE SOMEONE TO FIX
ONLY WANT TO ENCRYPT VIA THIS METHOD*/


public class encrypt {
   /* WANT TO GET USER-INPUT AND RUN IT THROUGH THIS METHOD OF HASHING*/
    String code = array[0];
    String encrypted = encrypt(code);
/*ERRORS SO*/
    public static void main(String[] args) {
       /* WANT TO PRINT OUT RESULT HERE
        AIM IS TO GET A HASH THAT LOOKS LIKE:
        "2473511743116990591436219521516221715316",
          "101208251115150352340242201171221515066157"
        FROM THE WORD "pizzaroma"*/
        System.out.println(encrypted);
    }

    /*NO CLUE WHAT THIS DOES ^^^^ Array?*/
    private String getString(byte[] bytes) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < bytes.length; i++) {
            byte b = bytes[i];
            sb.append(0xFF & b);
        }
        return sb.toString();
    }

    public String encrypt(String source) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] bytes = md.digest(source.getBytes());
            return getString(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
    /*FAR:encrypt.java:6:error:cannot find symbol

        String code=array[0];

        symbol:variable array

        location:*/

/*
class encrypt

encrypt.java:35:error:non-static variable encrypted cannot be
        referenced from a static context

        System.out.println(encrypted);^

        2 errors*/
import java.util.List;
导入java.security.MessageDigest;
/*
我希望有人修复的基本格式
只希望通过此方法进行加密*/
公共类加密{
/*想要获得用户输入并通过这种散列方法运行它吗*/
字符串代码=数组[0];
字符串加密=加密(代码);
/*所以*/
公共静态void main(字符串[]args){
/*要在这里打印结果吗
目的是获取一个如下所示的哈希:
"2473511743116990591436219521516221715316",
"101208251115150352340242201171221515066157"
来自“比萨罗马”这个词*/
System.out.println(加密);
}
/*不知道这是什么^^^^数组*/
私有字符串getString(字节[]字节){
StringBuffer sb=新的StringBuffer();
for(int i=0;i
您可以在base64 lib的帮助下执行此操作,首先需要像

import org.apache.commons.codec.binary.Base64;
然后将类更改为使用BASE64类。 下面是一些示例代码:

byte[] encodedBytes = Base64.encodeBase64("Test".getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
byte[] decodedBytes = Base64.decodeBase64(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));
试试这个代码

import java.security.MessageDigest;

public class Test {

    String code = null;
    String encrypted = null;

    private String getString(byte[] bytes) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < bytes.length; i++)
        {
            byte b = bytes[i];
            sb.append(0xFF & b);
        }
        return sb.toString();
    }

    public String encrypt(String source) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] bytes = md.digest(source.getBytes());
            return getString(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String args[]) {

        Test t = new Test();
        t.code = "pizzaroma";

        t.encrypted = t.encrypt(t.code);

        System.out.println(t.encrypted);
    }
}
import java.security.MessageDigest;
公开课考试{
字符串代码=null;
字符串加密=空;
私有字符串getString(字节[]字节){
StringBuffer sb=新的StringBuffer();
for(int i=0;i
首先,我会尝试正确缩进您的代码。。。MD5是一个加密哈希函数,而不是加密。