zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    19. vue的原理
    18.jwt加密
    17.vue移动端项目二
    16.vue-cli跨域,swiper,移动端项目
    15.vue动画& vuex
    14.vue路由&脚手架
    13.vue组件
    12.vue属性.监听.组件
    11.vue 数据交互
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/gcgc/p/12034138.html
Copyright © 2011-2022 走看看