- 浏览: 94518 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
Utils加解密操作反射 空值判断功能
package com.kame.micropay.commons.util;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class Utils {
/**
* 加解密操作集合对象.
* @param objs
* @param flag (flag:true 加密,false:解密.)
* @param attribute
*/
public static void desDecryptOrEncryptObjectList(List<?> objs, Boolean flag,String... attribute){
if (null != objs && !objs.isEmpty()) {
for (int i = 0; i < objs.size(); i++) {
desDecryptOrEncryptObject(objs.get(i),flag,attribute);
}
}
}
/**
* 对象加解密操作
* @param obj
* @param flag (true 加密,false:解密.)
* @param attribute
*/
public static void desDecryptOrEncryptObject(Object obj,Boolean flag,String... attribute) {
if (null != obj && null != attribute) {
for (int j = 0; j < attribute.length; j++) {
try {
Field f = obj.getClass().getDeclaredField(attribute[j]);
f.setAccessible(true);
if (flag) f.set(obj,DESUtil.desEncrypt(f.get(obj) == null ? "": f.get(obj).toString()));
f.set(obj,DESUtil.desDecrypt(f.get(obj) == null ? "": f.get(obj).toString()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/** 可以用于判断Object,String,Map,Collection,String,Array是否为空 */
public static boolean isNull(Object value) {
if (value == null) {
return true;
} else if(value instanceof String){
if(((String)value).trim().replaceAll("\\s", "").equals("")){
return true;
}
}else if(value instanceof Collection) {
if(((Collection)value).isEmpty()){
return true;
}
} else if (value instanceof Object[]) {
Object[] object = (Object[]) value;
if (object.length == 0) {
return true;
}
boolean empty = true;
for (int i = 0; i < object.length; i++) {
if (!isNull(object[i])) {
empty = false;
break;
}
}
return empty;
} else if(value.getClass().isArray()) {
if(Array.getLength(value) == 0){
return true;
}
} else if(value instanceof Map) {
if(((Map)value).isEmpty()){
return true;
}
} else {
return false;
}
return false;
}
public static boolean isNull(Object value, Object... items){
if (isNull(value) || isNull(items)) {
return true;
}
for (Object item : items) {
if (isNull(item)) {
return true;
}
}
return false;
}
public static boolean isNotNull(Object value){
return !isNull(value);
}
public static boolean isNotNull(Object value, Object... items){
return !isNull(value,items);
}
public static boolean Null(Object value, Object... items){
if (isNull(value) || isNull(items)) {
return true;
}
for (Object item : items) {
if (isNull(item)) {
return true;
}
}
return false;
}
/**
* 进行加法运算
* @param d1
* @param d2
* @return
*/
public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue();
}
/**
* 进行减法运算
* @param d1
* @param d2
* @return
*/
public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
/**
* 进行乘法运算
* @param d1
* @param d2
* @return
*/
public static double mul(double d1, double d2){
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
/**
* 进行除法运算
* @param d1
* @param d2
* @param len
* @return
*/
public static double div(double d1,double d2,int len) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2,len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 进行四舍五入操作
* @param d
* @param len
* @return
*/
public static double round(double d,int len) {
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
// 任何一个数字除以1都是原数字
// ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 生成订单流水号,格式为日期+时间
*/
public static String RecordIDGenerater() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
return formatter.format(new Date());
}
/***
* 产生一个随机数
* @param i
* @return
*/
public static int random(int i){
Random r=new Random();
int k=r.nextInt(i);
while(k<1000){
k=r.nextInt(i);
}
return k;
}
}
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class Utils {
/**
* 加解密操作集合对象.
* @param objs
* @param flag (flag:true 加密,false:解密.)
* @param attribute
*/
public static void desDecryptOrEncryptObjectList(List<?> objs, Boolean flag,String... attribute){
if (null != objs && !objs.isEmpty()) {
for (int i = 0; i < objs.size(); i++) {
desDecryptOrEncryptObject(objs.get(i),flag,attribute);
}
}
}
/**
* 对象加解密操作
* @param obj
* @param flag (true 加密,false:解密.)
* @param attribute
*/
public static void desDecryptOrEncryptObject(Object obj,Boolean flag,String... attribute) {
if (null != obj && null != attribute) {
for (int j = 0; j < attribute.length; j++) {
try {
Field f = obj.getClass().getDeclaredField(attribute[j]);
f.setAccessible(true);
if (flag) f.set(obj,DESUtil.desEncrypt(f.get(obj) == null ? "": f.get(obj).toString()));
f.set(obj,DESUtil.desDecrypt(f.get(obj) == null ? "": f.get(obj).toString()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/** 可以用于判断Object,String,Map,Collection,String,Array是否为空 */
public static boolean isNull(Object value) {
if (value == null) {
return true;
} else if(value instanceof String){
if(((String)value).trim().replaceAll("\\s", "").equals("")){
return true;
}
}else if(value instanceof Collection) {
if(((Collection)value).isEmpty()){
return true;
}
} else if (value instanceof Object[]) {
Object[] object = (Object[]) value;
if (object.length == 0) {
return true;
}
boolean empty = true;
for (int i = 0; i < object.length; i++) {
if (!isNull(object[i])) {
empty = false;
break;
}
}
return empty;
} else if(value.getClass().isArray()) {
if(Array.getLength(value) == 0){
return true;
}
} else if(value instanceof Map) {
if(((Map)value).isEmpty()){
return true;
}
} else {
return false;
}
return false;
}
public static boolean isNull(Object value, Object... items){
if (isNull(value) || isNull(items)) {
return true;
}
for (Object item : items) {
if (isNull(item)) {
return true;
}
}
return false;
}
public static boolean isNotNull(Object value){
return !isNull(value);
}
public static boolean isNotNull(Object value, Object... items){
return !isNull(value,items);
}
public static boolean Null(Object value, Object... items){
if (isNull(value) || isNull(items)) {
return true;
}
for (Object item : items) {
if (isNull(item)) {
return true;
}
}
return false;
}
/**
* 进行加法运算
* @param d1
* @param d2
* @return
*/
public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue();
}
/**
* 进行减法运算
* @param d1
* @param d2
* @return
*/
public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
/**
* 进行乘法运算
* @param d1
* @param d2
* @return
*/
public static double mul(double d1, double d2){
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
/**
* 进行除法运算
* @param d1
* @param d2
* @param len
* @return
*/
public static double div(double d1,double d2,int len) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2,len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 进行四舍五入操作
* @param d
* @param len
* @return
*/
public static double round(double d,int len) {
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
// 任何一个数字除以1都是原数字
// ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 生成订单流水号,格式为日期+时间
*/
public static String RecordIDGenerater() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
return formatter.format(new Date());
}
/***
* 产生一个随机数
* @param i
* @return
*/
public static int random(int i){
Random r=new Random();
int k=r.nextInt(i);
while(k<1000){
k=r.nextInt(i);
}
return k;
}
}
相关推荐
Java文件加解密工具类,使用AES算法,256位秘钥。srcFile为输入文件,destFile为输出文件。
zip_utils_src c++关于压缩成zip文件的源码与实例!
sm4的java算法
java借助bouncycastle库实现ECC双向加密解密算法Utils工具包。
针对加密解密的常用方法集合,全部集成到Utils中,可以直接使用
Android RSA加解密签名(公私钥可从字符串和pem文件读取) 附base64Utils,可用android自带base64
1. 将下载好的jsencrypt.js放在一个专门的文件夹,例如 utils/jsencrypt.js 2. 为了方便使用,在同一目录下新建文件 rsa.js: RSA加密解密需要用到公钥和私钥,在线生成公钥私钥:...
注意:在unbuntu上按照压缩文档中的《sg3_utils测试工具交叉编译,静态编译.pdf》进行操作,可自行编译sg3_utils arm64 静态包 sg3_utils ARM64 静态编译链接程序,可直接在arm64平台上运行,用于对scsi 设备进行...
utils-gg_utils.h
utils-gg_utils.c
linux centos7.5 nfs-utils 网络共享资源离线rpm安装包,包括nfs-utils 的依赖包,方便使用
里面包含安装mtd-utils所有涉及到的安装包,给具有同样需求的人方便: mtd-utils-1.5.0.tar.bz2 lzo-2.06.tar.gz zlib-1.2.8.tar.gz
后端解密用的sm4文件SM4Utils.java
rsa加密解密算法;Base64Utils.java;RSAUtils.java;3.测试类
canutils-4.0.6及其使用说明,主要是备份一下资料,所以上传到这里。
java utils
内含移植成功的canutils源码+libsocketcan源码,说明内已经写好编译方法和编译后使用方法,对新手友好。 需要换版本可以直接替换源码,源码使用Android.bp编译canutils(注意Android 7以后的系统才支持Android.bp,...
反射 细绳 用模板覆盖文件中的占位符(覆盖一些变量) java-utils 的 Maven 依赖 < dependency > < groupId >pl.jalokim.utils</ groupId > < artifactId >java-utils</ artifactId > < version >...
本文实例为大家分享了.NET使用RSA加密解密的具体代码,供大家参考,具体内容如下 PassWordHelper.cs代码: using System; using System.IO; using System.Text; using System.Globalization; using System....
[root@localhost yum-utils]# rpm -qa |grep yum-utils 卸载 [root@localhost yum-utils]# rpm -e --nodeps yum-utils-1.1.31-40.el7.noarch 上传离线版本包并解压 安装 [root@localhost yum-utils]# rpm -ivh...