当前位置:首页 > Python教程 > python技巧

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

java的加密方法如下:

            public
            class
             EncryptUtil {
    
            /**
             16进制 : 16 
            */
            private
            static
            final
            int HEX = 16;
    /** SHA: 0xFF  */privatestaticfinalint SHA_FF = 0xFF;
    /** SHA: 0x100   */privatestaticfinalint 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 密文
     */publicstatic 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) {
            thrownew 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()

原文:https://www.cnblogs.com/gcgc/p/12034138.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐