java的sha1加密,转化为python版本

java的加密方法如下:

public class EncryptUtil {
/** 16进制 : 16 */
private static final int HEX = 16;
/** SHA: 0xFF */
private static final int SHA_FF = 0xFF;
/** SHA: 0x100 */
private static final int SHA_100 = 0x100; /**
* SHA(Secure Hash Algorithm,安全散列算法)是消息摘要算法的一种,被广泛认可的MD5算法的继任者。
* SHA算法家族目前共有SHA-0、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512五种算法,
* 通常将后四种算法并称为SHA-2算法
* @param msg 明文
* @param salt 盐
* @return 密文
*/
public static String encryptSHA(final String msg, String salt) { StringBuilder sb = new StringBuilder();
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(salt.getBytes());
byte[] bytes = md.digest(msg.getBytes());
for (int i = 0; i < bytes.length; i++) {
sb.append(Integer.toString((bytes[i] & SHA_FF) + SHA_100, HEX).substring(1));
}
} catch (final Exception e) {
throw new SmsException(-1001, "", e.getMessage(), e);
} return sb.toString();
} }

对应的python加密方法:

import hashlib

def encryptSHA(msg, salt):
"""
采用sha1加密方法,返回加密结果
:param msg: 待加密的字符串
:param salt:加密盐
:return:加密结果
"""
md = hashlib.sha1(salt)
md.update(msg)
return md.hexdigest()
上一篇:FILE,id不一致


下一篇:2012蓝桥杯省赛:密码发生器