有时候,我们需要用Java开发一个小的程序,或者只需要实现简单的http监听的server,此时并不想引入太多依赖(比如Spring或者要使用Tomcat等),此时可以使用Java自带的HttpServer来实现简单的web服务器,实现一些基本功能还是没有问题的。 下面分享下代码片段实现HttpServer,代码实现了以下几个功能和要点(详见代码注释): 实现web server(GET方法): http://127.0.0.1:8182/hello 如果GET携带参数 http://127.0.0.1:8182/…

2021-05-07 0条评论 1246点热度 0人点赞 admin 阅读全文

开发的时候,例如安卓开发,遇到需要将正方形图片转换成圆形显示(如用户头像显示等),这里分享下我使用的Bitmap转换成圆形的工具类,输入Bitmap,输出圆形Bitmap。 直上干货工具方法: /** * 转换图片成圆形 * * @param bitmap * 传入Bitmap对象 * @return */ public static Bitmap toRoundBitmap(Bitmap bitmap) { if (bitmap == null) return null; int width = bitmap.g…

2021-05-03 0条评论 1061点热度 0人点赞 admin 阅读全文

平时写程序时候,经常需要计算哈希值(MessageDigest摘要),如MD5、SHA1、SHA256等等,不妨做一个工具类,要用到的时候,一个方法调用就可以了,方便省事,下面是我使用的工具类,原生Java,无依赖。 Javascript版本实现哈希算法,请查看:https://blog.terrynow.com/2021/05/05/javascript-html-hash-tool-md5-sha1-sha256/ 要用的时候,直接HashUtil.sha1("123456");HashUtil.md5("12…

2021-04-29 0条评论 1778点热度 0人点赞 admin 阅读全文

如题,一个工具类,直接MD5.compute("123456"); 即可计算一个字符串的MD5。 如需要其他Hash算法,如SHA1 SHA-256等,请查看https://blog.terrynow.com/2021/04/29/java-hash-tool-md5-sha1-sha256/ public class MD5 { public static String compute(String source) { String result = null; try { byte[] valueByte = …

2021-04-28 0条评论 1008点热度 0人点赞 admin 阅读全文

开发是否遇到需要比较字符串是否符合通配符的规则的需求,例如,判断字符串hello.world 是否符合hello.* (*代表若干个字符串)或者是否符合hello.?????(多少个问号就代表多少个字符) 我们利用正则表达式可以很容易的写出,为了便于复用,将类似需求整理成工具方法,方便调用,代码如下(示例写在main方法里了): import java.util.Arrays; import java.util.regex.Pattern; /** * @author Terry E-mail: yaoxinghu…

2021-04-22 0条评论 1039点热度 0人点赞 admin 阅读全文

今天遇到一个问题,使用Spring的Controller中实现上传文件处理的时候,报错: Controller中接收文件的代码如下: @RequestMapping(method = RequestMethod.POST, value = "/file/upload") public @ResponseBody String uploadManageRule(@RequestParam(value = "file") MultipartFile file) { // TODO 把MultipartFile file…

2021-04-17 0条评论 2224点热度 0人点赞 admin 阅读全文

本篇简单介绍下非对称加密以及公钥和私钥加密不同的使用场景,以及如何用Java代码实现AES加解密的工具类和例子 需要两个密钥(公钥和私钥)来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥) ,公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。这个公钥和私钥必须是一对的,如果用公钥对数据进行加密,那么只有使用对应的私钥才能解密,所以只要私钥不泄露,那么我 对于签名:私钥加密,公钥解密。好比你的签名只有你自已签的才是真的,别人签的都是假的。 们的数据…

2021-04-14 0条评论 1237点热度 0人点赞 admin 阅读全文

AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB 我们项目里用的多的是较多的是,下面介绍下如何使用Java来实现加解密。 关于如何使用Javascript实现(加解密结果和Java版本互通),请查看这篇:[Javascript]实现对称加解密AES/CBC/PKCS5PADDING Python版本的实现(…

2021-04-14 1条评论 1871点热度 1人点赞 admin 阅读全文

很多时候,在处理字符串的时候,需要检查给定的字符串是否是数字、或者整数等。 下面整理下判断数字或者整数的方式 Java的最普通的判断数字、小数的方法,就是用 去解析,如果能解析出Integer或者Double,不抛出异常,那么说明这个string是数字或者小数,这种方式虽然有点不优雅,但是有效! public static void main(String[] args) { System.out.println(isNumber("012345")); System.out.println(isDecimal("…

2021-04-09 1条评论 1739点热度 0人点赞 admin 阅读全文

使用SpringSecurity默认的登录是没有验证码的,但是如果没有验证码,被暴力破解还是挺危险的,所以很有必要为SpringSecurity加一层验证码保护。 可以通过给SpringSecurity加一个前置过滤器,来校验验证码来实现。 配置文件如下SecurityConfiguration.java: 主要看方法里的: 其他的按需要复制 @EnableWebSecurity public class SecurityConfiguration extends WebSecurityConfigurerAdap…

2021-04-07 0条评论 1029点热度 0人点赞 admin 阅读全文
1141516171820