• Source
    1. import java.security.*;
    2. import java.io.UnsupportedEncodingException;
    3. import java.math.BigInteger;
    4.  
    5. public class Main{
    6. public static String SHA256(String data){
    7. String sb = "";
    8. try{
    9. MessageDigest md = MessageDigest.getInstance("SHA-256");
    10. md.update(data.getBytes("UTF-8"));
    11. byte byteData[] = md.digest();
    12. sb=new BigInteger(1, byteData).setBit(256).toString(16);
    13. sb=sb.substring(1);
    14. } catch(Exception e){
    15. e.printStackTrace();
    16. }
    17. return sb;
    18. }
    19.  
    20. public static void main(String[] args) throws UnsupportedEncodingException {
    21. String m0="試試看", m=m0;
    22. byte[] mm;
    23. String digest="";
    24. int nonce=32;
    25. do {
    26. mm = m.getBytes("UTF-8");
    27. System.out.print("m="+m+":");
    28. m = new String(m.getBytes("UTF-8"), "UTF-8");
    29. digest=SHA256(m);
    30. System.out.println(" , SHA-256 digest=" + digest);
    31.  
    32. m=m0+nonce;
    33. nonce++;
    34. } while ( !digest.startsWith("0000"));
    35. }
    36. }
    37.