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()