• 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()
  • 相关阅读:
    如何获取地址栏中的参数
    Ajax基础知识
    什么是BFC
    111
    不定宽 块状元素居中3
    POJ 2104主席树
    可持久化数据结构之主席树
    线段树
    Splay 学习
    hello world
  • 原文地址:https://www.cnblogs.com/gcgc/p/12034138.html
Copyright © 2020-2023  润新知