当前位置: 首页 > news >正文

医院seo是什么莆田百度seo公司

医院seo是什么,莆田百度seo公司,做网站那个公司比较好,做网站销售水果通过时间获取验证码 1.需求2.代码实现2.1 依赖2.2 时间参数处理方法2.3 截取验证码方法2.4 验证方法 3.总结 1.需求 要求是很简单的,每个验证码的有效时间是2小时,这个并不是收到验证码开始计时的,而是每个两小时的时间段使用的是相同的验证…

通过时间获取验证码

  • 1.需求
  • 2.代码实现
    • 2.1 依赖
    • 2.2 时间参数处理方法
    • 2.3 截取验证码方法
    • 2.4 验证方法
  • 3.总结

1.需求

要求是很简单的,每个验证码的有效时间是2小时,这个并不是收到验证码开始计时的,而是每个两小时的时间段使用的是相同的验证码。

2.代码实现

2.1 依赖

<dependency><groupId>gov.nist.math</groupId><artifactId>jama</artifactId><version>1.0.3</version>
</dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.6</version>
</dependency>

2.2 时间参数处理方法

2个小时处理为相同的值

@Slf4j
public class VerificationCodeUtil {/*** 时间字符串** @param dateStr yyyy-MM-dd HH:mm:ss*/public static String getCode(String dateStr) {int dataStrLength = 13;try {if (dateStr.length() >= dataStrLength) {String yearMonthDay = dateStr.substring(0, 10);int hour = Integer.parseInt(dateStr.substring(11, 13));int twoHour = 2;if (hour % twoHour != 0) {hour--;}String md5Str = DigestUtils.md5Hex("vc#" + yearMonthDay + hour);return getCodeByMd5(md5Str);} else {log.error("dateStr [{}] not match format [yyyy-MM-dd HH:mm:ss]!", dateStr);}} catch (Exception e) {e.printStackTrace();log.error("dateStr [{}] not match format [yyyy-MM-dd HH:mm:ss]!", dateStr);}return dateStr;}
}

2.3 截取验证码方法

@Slf4j
public class VerificationCodeUtil {// 对指定字符串生成验证码private static String getCodeByMd5(String md5Str) {try {byte[] md5 = md5Str.getBytes();double[][] preMatrix = new double[4][8];for (int j = 0; j < 4; j++) {for (int k = 0; k < 8; k++) {preMatrix[j][k] = md5[j * 8 + k];}}Matrix matrix = new Matrix(preMatrix);Matrix matrix1 = matrix.getMatrix(1, 2, 2, 5);Matrix matrix2 = matrix.transpose();Matrix matrix21 = matrix2.getMatrix(0, 3, 0, 3);Matrix matrix22 = matrix2.getMatrix(4, 7, 0, 3);Matrix matrix3 = matrix21.plus(matrix22);Matrix result = matrix1.times(matrix3);double[][] re = result.getArray();StringBuilder str = new StringBuilder();for (double[] doubles : re) {for (double aDouble : doubles) {int a = (int) aDouble % 16;str.append(Integer.toHexString(a));}}return str.toString().toUpperCase();} catch (Exception e) {e.printStackTrace();return null;}}
}

2.4 验证方法

@Slf4j
public class VerificationCodeUtil {public static void main(String[] args) {DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");DateTime parse = DateUtil.parse("2023-11-09 23:59:59", "yyyy-MM-dd HH:mm:ss");String format = df.format(parse);System.out.println(getCode(format));// 00:00 3A756DFC// 00:59 3A756DFC// 01:59 3A756DFC// 01:59 3A756DFC// 02:00 9E937D4B// 02:59 9E937D4B// 03:00 9E937D4B// 22:00 D014DD79// 23:59 D014DD79        }
}

3.总结

很简单的算法分享。优点:

  • 不需要将生成的验证码缓存。
  • 时间入参,能够重复获取相同的值。
http://www.tj-hxxt.cn/news/73344.html

相关文章:

  • 如何把网站程序做授权网址访问朝阳seo排名
  • 网站开发ipv6升级seo的中文含义是什么
  • 可以做黄金期权的网站重庆关键词优化服务
  • 网站伪静态好还是静态好今日头条新闻最新
  • 什么是网络营销调研?它有什么特点?seo平台怎么样
  • 手机做ppt的免费模板下载网站苏州做网站的专业公司
  • 山西太原网站建设公司哪家好网络营销理论基础
  • 寿县网站建设深圳网站建设公司
  • 北京人民政府门户网站西安seo高手
  • 铁岭做网站信息百度指数数据分析平台
  • 网站开发是固定资产吗营销推广运营
  • 阿里云做淘宝客网站短视频培训机构排名
  • 网站注册页面跳出怎么做网络营销专业是干嘛的
  • 微信做一元云购网站win10优化大师有用吗
  • 网站排名英文电脑清理软件十大排名
  • 从零学做网站seo专员工作容易学吗
  • 小程序开发平台需要网站吗成都营销型网站制作
  • 政府网站意义网络营销推广计划
  • 做日文网站营销策略有哪些方面
  • 提供信息门户网站建设上百度推广的网站要多少钱
  • 网站美观界面百度搜索引擎收录入口
  • 网站不接入备案百度认证怎么认证
  • 广州化妆品网站建设山东seo推广公司
  • 朔州市网站建设深圳网络营销策划
  • 旅游网站设计思路和生活爱辽宁免费下载安装
  • 国外哪个网站卖真松树做圣诞树重庆专业做网站公司
  • 悦阁网站建设重庆关键词自然排名
  • 外行学网页制作与网站建设从入门到精通推广之家官网
  • 做网站哪家便宜厦门quark搜索引擎入口
  • 湖州本地做网站营销培训机构哪家最专业