首頁 收藏 QQ群
 網(wǎng)站導航

ZNDS智能電視網(wǎng) 推薦當貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 21880|回復: 1
上一主題 下一主題
[教程]

求D6位隨機數(shù)的刷機包(研究算法用)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2018-8-21 11:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自四川
本帖最后由 不敗的米 于 2018-8-21 11:29 編輯

附送5位和C6位算法
package ppma;

import java.security.MessageDigest;

public class pwd {
    public static void main(String[] args){
        System.out.print(args[0]+"\n"+args[1]+"\n");
        System.out.print("5:"+gethashCode(args[0],args[1])+"\n");
        String change = mark(args[0],args[1]);
        System.out.print("C6:"+gethashCode(change,args[1])+"\n");
        return;
    }

    private static int gethashCode(String mac,String rand){
        String build = builder(mac,rand);
        String md5 = MD5(build);
        return Math.abs(md5.hashCode());
    }

    private static String mark(String mac,String salt){
        char[] char_mac = mac.toCharArray();
        char[] char_salt = salt.toCharArray();
        int length_mac =char_mac.length;
        int length_rand = char_salt.length;
        char_mac[length_mac-1]=char_salt[length_rand-1];
        int i=0,j=0;
        while(i<length_mac&&j<length_rand){
            if(char_mac==':') char_mac=char_salt[j++];
            i++;
        }
        return  String.copyValueOf(char_mac);
    }

    private static String builder(String mac,String salt){
        return "open_ADB"+salt+"@"+ mac+"ZTE_ENCRYPT";
    }

    private static String MD5(String s) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] bytes = md.digest(s.getBytes("utf-8"));
            return toHex(bytes);
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    private static String toHex(byte[] bytes) {

        final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
        StringBuilder ret = new StringBuilder(bytes.length * 2);
        for (int i=0; i<bytes.length; i++) {
            ret.append(HEX_DIGITS[(bytes >> 4) & 0x0f]);
            ret.append(HEX_DIGITS[bytes & 0x0f]);
        }
        return ret.toString();
    }
}


上一篇:中興zxv10 b860a V2.1自動升級后無法安裝第三方軟件
下一篇:860AV1.1怎么禁止自動升級

相關(guān)帖子

沙發(fā)
發(fā)表于 2018-8-22 11:12 | 只看該作者 | 來自北京
高手在當貝啊!學習了
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-11-8 09:13 , Processed in 0.059732 second(s), 15 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表