`
c86423908
  • 浏览: 3811 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

java工具UTILS小合集(一)

    博客分类:
  • java
 
阅读更多
/**
     * 根据日期获取星期
     *
     * @param strdate
     * @return
     */
    public static String getWeekDayByDate(String strdate) {
        final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
        SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        Date date = new Date();
        try {
            date = sdfInput.parse(strdate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        calendar.setTime(date);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
        if (dayOfWeek < 0)
            dayOfWeek = 0;
        return dayNames[dayOfWeek];
    }
/**
     * 判断是否是IE浏览器
     *
     * @param userAgent
     * @return
     */
    public static boolean isIE(HttpServletRequest request) {
        String userAgent = request.getHeader("USER-AGENT").toLowerCase();
        boolean isIe = true;
        int index = userAgent.indexOf("msie");
        if (index == -1) {
            isIe = false;
        }
        return isIe;
    }
/**
     * 基于MD5算法的单向加密
     *
     * @param strSrc
     *            明文
     * @return 返回密文
     */
    public static String encryptBasedMd5(String strSrc) {
        String outString = null;
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            byte[] outByte = md5.digest(strSrc.getBytes("UTF-8"));
            outString = outByte.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return outString;
    }
/**
     * DES算法密钥
     */
    private static final byte[] DES_KEY = { 21, 1, -110, 82, -32, -85, -128, -65 };

    /**
     * 数据加密,算法(DES)
     *
     * @param data
     *            要进行加密的数据
     * @return 加密后的数据
     */
    public static String encryptBasedDes(String data) {
        String encryptedData = null;
        try {
            // DES算法要求有一个可信任的随机数源
            SecureRandom sr = new SecureRandom();
            DESKeySpec deskey = new DESKeySpec(DES_KEY);
            // 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
            SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
            SecretKey key = keyFactory.generateSecret(deskey);
            // 加密对象
            Cipher cipher = Cipher.getInstance("DES");
            cipher.init(Cipher.ENCRYPT_MODE, key, sr);
            // 加密,并把字节数组编码成字符串
            encryptedData = new Base64().encodeToString(cipher.doFinal(data.getBytes()));
        } catch (Exception e) {
            log.error("加密错误,错误信息:", e);
            throw new RuntimeException("加密错误,错误信息:", e);
        }
        return encryptedData;
    }

    /**
     * 数据解密,算法(DES)
     *
     * @param cryptData
     *            加密数据
     * @return 解密后的数据
     */
    public static String decryptBasedDes(String cryptData) {
        String decryptedData = null;
        try {
            // DES算法要求有一个可信任的随机数源
            SecureRandom sr = new SecureRandom();
            DESKeySpec deskey = new DESKeySpec(DES_KEY);
            // 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
            SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
            SecretKey key = keyFactory.generateSecret(deskey);
            // 解密对象
            Cipher cipher = Cipher.getInstance("DES");
            cipher.init(Cipher.DECRYPT_MODE, key, sr);
            // 把字符串解码为字节数组,并解密
            decryptedData = new String(cipher.doFinal(new Base64().decode(cryptData)));
        } catch (Exception e) {
            log.error("解密错误,错误信息:", e);
            throw new RuntimeException("解密错误,错误信息:", e);
        }
        return decryptedData;
    }
分享到:
评论

相关推荐

    javautils一些工具类

    在这个"javautils"压缩包中,我们可以预见到包含了一些自定义的Java工具类,可能涵盖了字符串处理、日期时间操作、集合操作等多个方面。 1. **字符串处理**: JavaUtils中的字符串工具类可能会包含一些扩展了Java...

    java工具类 utils.zip

    "java工具类 utils.zip" 提供了一系列实用的工具类,涵盖了日期处理、字符串操作、JSON解析、Spring Bean操作、加密解密、Base64编码、图像处理、随机数生成以及正则表达式等多个方面。下面我们将逐一探讨这些工具类...

    java utils 工具类

    JavaUtils工具类是Java开发中常见的一类辅助代码集合,它们通常包含各种静态方法,用于简化常见的编程任务,提高开发效率。在这个特定的例子中,我们关注的是一个名为`Encrypt.java`的文件,它可能包含了加密相关的...

    javautils工具类

    JavaUtils工具类是Java开发中常见的一种编程实践,它封装了一系列通用的功能,便于开发者在项目中快速调用,提高代码的可复用性和可维护性。在这个特定的"javautils工具类"中,我们重点关注的是它对Excel操作的支持...

    java-property-utils-1.9.1.jar,java-property-utils-1.10.jar

    Java Property Utils是Java开发中的一个实用工具库,主要用于处理和操作Java系统属性和配置文件。在给定的场景中,`java-property-utils-1.9.1.jar` 和 `java-property-utils-1.10.jar` 是这个库的两个不同版本,...

    Base64Utils java工具类

    Base64Utils java工具类

    个人总结常用经典Utils工具类

    1、Utils工具类有String工具类、XmlNode节点工具类、BeanFactory相关、Common工具类、Cookie工具类、Date工具类、Http工具类、JDBC工具类、日志Log工具类、Servlet相关等。2、工具类省了重复造轮子的工作,可以直接...

    redis utils 工具类

    Redis Utils工具类是Java开发中常见的一种封装,用于简化与Redis数据库的交互操作。Redis是一种高性能的键值存储系统,广泛应用于缓存、消息队列、数据持久化等多个场景。在Java开发中,为了提高代码的可读性和复用...

    java代码:java工具类-javaUtils多种工具类-正则工具-base64工具等

    总结来说,这个压缩包提供了一套全面的Java工具类,涵盖了正则表达式处理和Base64编码解码等功能,对于任何Java开发者来说,都是一个宝贵的资源。通过合理地使用这些工具类,可以优化代码结构,提高开发效率,并确保...

    JAVA utils工具类

    BeanUtils.java ...ClassUtils.java CollectionUtils.java ContentHandler.java DateUtils.java DigestUtils.java DomContentHandler.java DomUtils.java FileCopyUtils.java FileUtils.java GenericsUtils.java ...

Global site tag (gtag.js) - Google Analytics