android - Python代码转为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代码,但是返回的结果始终为空:
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
相关文章:
1. mysql优化 - mysql count(id)查询速度如何优化?2. mysql主从 - 请教下mysql 主动-被动模式的双主配置 和 主从配置在应用上有什么区别?3. python - django 里自定义的 login 方法,如何使用 login_required()4. node.js - node_moduls太多了5. 主从备份 - 跪求mysql 高可用主从方案6. angular.js - 不适用其他构建工具,怎么搭建angular1项目7. angular.js - Angular路由和express路由的组合使用问题8. python如何不改动文件的情况下修改文件的 修改日期9. java8中,逻辑与 & 符号用在接口类上代表什么意思10. python - 关于ACK标志位的TCP端口扫描的疑惑?
