繁体   English   中英

我怎样才能将这个java方法最好地翻译成python

[英]how can I best translate this java method to python

我怎么能写更少的python2代码来实现同样的事情,需要加密结果是一样的。

b[i++] = (byte) 172; 以什么方式将int转换为python2中的byte ...

public static String encryptPassword(String content) {


    String resultString = "";
       String appkey = "ftjf,ckdfkl";

       byte[] a = appkey.getBytes();
       byte[] datSource = content.getBytes();
       byte[] b = new byte[a.length + 4 + datSource.length];

       int i;
    for (i = 0; i < datSource.length; i++) {
        b[i] = datSource[i];
    }

    b[i++] = (byte) 172;
    b[i++] = (byte) 163;
    b[i++] = (byte) 161;
    b[i++] = (byte) 163;

    for (int k = 0; k < a.length; k++) {
        b[i] = a[k];
        i++;
    }

    try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(b);
        resultString = new HexBinaryAdapter().marshal(md5.digest());
    } catch (Exception e) {

    }

    return resultString.toLowerCase();
}


public static void main(String[] args) {
    System.out.print(encryptPassword("123456"));
}

使用chr在python中获取一个字节的char。

from Crypto.Hash import MD5

key = 'ftjf,ckdfkl'
src= '123'
b = src+chr(172)+chr(163)+chr(161)+chr(163)+key
md5 = MD5.new()
md5.update(b)
text = md5.hexdigest()
print text

给定src'123',输出为:

eedb36cc3204923459dcf891224a0c1d

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM