android - Python代碼轉(zhuǎn)為java代碼?
問題描述
下面是一段Python的加密代碼 :
import md5def encrypted_id(id): byte1 = bytearray(’3go8&$8*3*3h0k(2)2’) byte2 = bytearray(id) byte1_len = len(byte1) for i in xrange(len(byte2)):byte2[i] = byte2[i]^byte1[i%byte1_len] m = md5.new() m.update(byte2) result = m.digest().encode(’base64’)[:-1] result = result.replace(’/’, ’_’) result = result.replace(’+’, ’-’) return result
請問如何改寫為java代碼?下面是我改寫的java代碼,但是返回的結(jié)果始終為空:
public static String md5(String musicID) throws NoSuchAlgorithmException {System.out.print(musicID);String result;byte[] byte1, byte2;String word = '3go8&$8*3*3h0k(2)2';byte1 = word.getBytes();byte2 = musicID.getBytes();int byte2_len = byte2.length;int byte1_len=byte1.length;for (int i = 0; i < byte2_len; i++) { byte2[i] = (byte) (byte2[i] ^ byte1[i % byte1_len]);}MessageDigest md5 = MessageDigest.getInstance('MD5');md5.update(byte2);byte[] digest = md5.digest();result=new String(Base64.decodeBase64(digest));result = result.replace(’/’, ’_’);result = result.replace(’+’, ’-’);return result; }
問題解答
回答1:python md5之后是base64 encode
java md5之后是base64 decode
相關(guān)文章:
1. 為什么HTML5規(guī)范中會包含一些和html無關(guān)的東西?如本地存儲等。2. css3 - 寬度設(shè)置的都是百分比,為什么還是不適配移動端?3. javascript - 微信IOS頁面中input type=number輸入數(shù)字無法顯示,安卓顯示正常4. html5 - 求一個(gè)獲取手機(jī)定位的小demo,web端的 Geolocation5. Java。根據(jù)WSDL驗(yàn)證SOAP消息6. javascript - h5頁面微信授權(quán)登錄后用戶關(guān)閉頁面再次進(jìn)入又要授權(quán)7. javascript - web網(wǎng)頁版app返回上一頁按鈕在ios設(shè)備失效怎么辦?安卓上可以,代碼如下,請大神幫助,萬分感謝。8. javascript - perfect-scrollbar 插件的使用9. javascript - 一個(gè)JS的算法,求大神解答10. html - 關(guān)于bootstrap中container、row、col的應(yīng)用
