md5加密字符串和文件

1,MD5簡介

1)Message Digist Algorithm 5(消息摘要算法); SHA(Secure hash algorithm)安全hash算法。
2)Java已經實現(xiàn)了MD5、SHA1算法。java.security.MessageDigest冈敛,String和文件的MD5以及SHA1結果。the array of bytes for the resulting hash value.
3)md5是一個固定長度128比特(bit)的串1和0的組合鸣皂,md5的32位表示使用16進制表示二進制抓谴,md5的16位表示32位表示去掉前8位和后8位

2寞缝,MD5加密字符串

private static final char[] HEX = {'0', '1', '2', '3', '4', '5', '6', '7',
            '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

    public static String md5String(String input) throws Exception {
        MessageDigest md = MessageDigest.getInstance("md5");
        byte[] inputBytes = input.getBytes();
        byte[] resultByte = md.digest(inputBytes);

        int length = resultByte.length;
        char[] result = new char[length * 2];

        int index = 0;
        for(int i = 0; i < length; i++){
            int val = resultByte[i];//轉換成int類型
            if(val < 0){
                val = val + 256;//負數(shù)使用補碼表示齐邦,eg: -1 + 256,等效于只取負數(shù)補碼的低8位(原byte類型)第租。
            }

            result[index++] = HEX[val/16];//使用除k取整法轉成16
            result[index++] = HEX[val % 16];
        }

        return result.toString();
    }

3措拇,MD5加密文件

public static String md5File(String path) throws Exception{
        MessageDigest md = MessageDigest.getInstance("md5");
        File file = new File(path);
        InputStream inputStream = new FileInputStream(file);

        DigestInputStream digestInputStream = new DigestInputStream(inputStream, md);
        byte[] buffer =new byte[256 * 1024];
        while (digestInputStream.read(buffer) > 0){
            md = digestInputStream.getMessageDigest();
        }

        byte[] resultByte = md.digest();
        int length = resultByte.length;
        char[] result = new char[length * 2];

        int index = 0;
        for(int i = 0; i < length; i++){
            result[index++] = HEX[resultByte[i] >>> 4 & 0xf];//使用位運算來進行16進制轉換
            result[index++] = HEX[resultByte[i] & 0xf];
        }

        return result.toString();
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市慎宾,隨后出現(xiàn)的幾起案子丐吓,更是在濱河造成了極大的恐慌浅悉,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件券犁,死亡現(xiàn)場離奇詭異术健,居然都是意外死亡,警方通過查閱死者的電腦和手機粘衬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門荞估,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人稚新,你說我怎么就攤上這事勘伺。” “怎么了褂删?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵飞醉,是天一觀的道長。 經常有香客問我屯阀,道長缅帘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任难衰,我火速辦了婚禮钦无,結果婚禮上,老公的妹妹穿的比我還像新娘盖袭。我一直安慰自己铃诬,他們只是感情好,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布苍凛。 她就那樣靜靜地躺著趣席,像睡著了一般。 火紅的嫁衣襯著肌膚如雪醇蝴。 梳的紋絲不亂的頭發(fā)上宣肚,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天,我揣著相機與錄音悠栓,去河邊找鬼霉涨。 笑死,一個胖子當著我的面吹牛惭适,可吹牛的內容都是我干的笙瑟。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼癞志,長吁一口氣:“原來是場噩夢啊……” “哼往枷!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤错洁,失蹤者是張志新(化名)和其女友劉穎秉宿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯碴,經...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡描睦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了导而。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忱叭。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖今艺,靈堂內的尸體忽然破棺而出韵丑,到底是詐尸還是另有隱情,我是刑警寧澤洼滚,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布,位于F島的核電站技潘,受9級特大地震影響遥巴,放射性物質發(fā)生泄漏。R本人自食惡果不足惜享幽,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一铲掐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧值桩,春花似錦摆霉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咳秉,卻和暖如春婉支,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澜建。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工向挖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炕舵。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓何之,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咽筋。 傳聞我的和親對象是個殘疾皇子溶推,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內容

  • 這篇文章主要講述在Mobile BI(移動商務智能)開發(fā)過程中,在網絡通信、數(shù)據(jù)存儲悼潭、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,362評論 0 6
  • 概述 之前一直對加密相關的算法知之甚少庇忌,只知道類似DES、RSA等加密算法能對數(shù)據(jù)傳輸進行加密舰褪,且各種加密算法各有...
    Henryzhu閱讀 3,011評論 0 14
  • 小紅的朋友在裝修新居占拍,近200平米的大房子略就。這下小紅起勁啊晃酒!竟然陪著買起了紅木表牢。已經結伴著去了紅木廠好多次! 為了...
    天使小魚兒閱讀 259評論 5 9
  • title: RetrofitUtils的工具類date: 2016-10-31 10:33:27tags: Ut...
    _蘇芳_閱讀 1,206評論 0 1
  • 一位患者到傳說中的免費醫(yī)院贝次,廣播提示:“您好崔兴!您不需要掛號、排隊蛔翅!”患者說感覺眼睛看不清楚敲茄,廣播提示患者上二...
    政先生閱讀 359評論 0 2