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

网站开发日程安排百度人工

网站开发日程安排,百度人工,seopeix,wordpress小程序商城任务: 接到一个任务,调用对方的接口,内容和密码,需要使用md5进行加密,再发送请求。 参数说明: 参数名称 说明 备注 timespan 时间戳 格式为yyyyMMddHHmmss pwd 密码 此处用原始密码时间戳做MD5加…

任务:

接到一个任务,调用对方的接口,内容和密码,需要使用md5进行加密,再发送请求。

参数说明

参数名称

说明

备注

timespan

时间戳

格式为yyyyMMddHHmmss

pwd

密码

此处用原始密码+时间戳做MD5加密,32位大写格式

msgfmt

编码类型

选填,如果不填默认为GBK,可以选填GBK或者UTF8/UTF-8

content

内容

做base64编码操作,编码方式使用msgfmt中的方式,如果msgfmt有值的话

处理:

bast64编码处理:

 

md5

import org.apache.commons.codec.digest.DigestUtils;public class Md5Utils {/*** @param text 明文* @param key 密钥* @return 密文*/public static String md5(String text, String key) throws Exception {// 加密后的字符串String md5str = DigestUtils.md5Hex(text + key);System.out.println("MD5加密后的字符串为:" + md5str);return md5str;}/***  直接加密* @param text 明文* @return* @throws Exception*/public static String md5(String text) throws Exception {// 加密后的字符串String md5str = DigestUtils.md5Hex(text);System.out.println("MD5加密后的字符串为:" + md5str);return md5str;}/***  直接加密后变成大写* @param text 明文* @return* @throws Exception*/public static String md5Upper(String text) throws Exception {// 加密后的字符串String md5StrUp = DigestUtils.md5Hex(text).toUpperCase();System.out.println("MD5加密后大写的字符串为:" + md5StrUp);return md5StrUp;}public static void main(String args[]) throws Exception {String currentTimeSuffix = DatesUtils.getCurrentTimeSuffix();String pwd = "042556";md5(pwd, currentTimeSuffix);String pwdStr = "04255620230525112132";String pwdMdStr = md5Upper(pwdStr);System.out.println(pwdMdStr);}
}

 

时间处理

DatesUtils

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class DatesUtils {private static String datePattern = "yyyy-MM-dd";private static String dateHourPattern = "yyyy-MM-dd HH";private static String dateTimePattern = "yyyy-MM-dd HH:mm:ss";private static String dateTimePatternSSSXXX = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX";private static String dateTimeSuffixPattern = "yyyyMMddHHmmss";private static String zeroTime = " 00:00:00";private static String endTime = " 23:59:59";public static String format(Date date, String pattern) {if (date == null)return "";return DateFormatUtils.format(date, pattern);}public static String format(Date date, String pattern, TimeZone timeZone) {if (date == null)return "";return DateFormatUtils.format(date, pattern, timeZone);}public static String formatDate(Date date) {if (date == null)return "";return DateFormatUtils.format(date, datePattern);}public static String formatDate(Date date, TimeZone timeZone) {if (date == null)return "";return DateFormatUtils.format(date, datePattern, timeZone);}public static String formatDateTime(Date date) {if (date == null)return "";return DateFormatUtils.format(date, dateTimePattern);}public static String formatDateTime(Date date, TimeZone timeZone) {if (date == null)return "";return DateFormatUtils.format(date, dateTimePattern, timeZone);}public static Date parseDate(String str) {if (StringUtils.isBlank(str))return null;try {return DateUtils.parseDate(str, datePattern);} catch (ParseException e) {e.printStackTrace();}return null;}public static Date parseDateTime(String str) {if (StringUtils.isBlank(str))return null;try {return DateUtils.parseDate(str, dateTimePattern);} catch (ParseException e) {e.printStackTrace();}return null;}public static Date parseDateTime(String str, String dateTimePattern) {if (str == null)return null;try {return DateUtils.parseDate(str, Locale.CHINESE, dateTimePattern);} catch (ParseException e) {e.printStackTrace();}return null;}public static Date formatDateTimeZero(Date date) {String formatDate = formatDate(date);return parseDateTime(formatDate + zeroTime);}public static Date formatDateTimeEnd(Date date) {String formatDate = formatDate(date);return parseDateTime(formatDate + endTime);}public static Date getCurDateTime() {Date date = new Date();String curDate = DateFormatUtils.format(date, dateTimePatternSSSXXX);return DatesUtils.parseDateTime(curDate, dateTimePatternSSSXXX);}public static Date getFirstOfHour(Date date) {String formatDate = format(date, dateHourPattern);return parseDateTime(formatDate + ":00:00");}public static Date getLastOfHour(Date date) {String formatDate = format(date, dateHourPattern);return parseDateTime(formatDate + ":59:59");}public static Date getFirstOfDay(Date date) {String formatDate = format(date, datePattern);return parseDateTime(formatDate + zeroTime);}public static Date getLastOfDay(Date date) {String formatDate = format(date, datePattern);return parseDateTime(formatDate + endTime);}/*** 获取指定日期所在月的第一天* @param date 日期* @return 所在月的第一天*/public static Date getFirstOfMonth(Date date) {//获取当前月第一天:Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.MONTH, 0);calendar.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天return formatDateTimeZero(calendar.getTime());}/*** 获取指定日期所在月的第最后一天* @param date 日期* @return  最后一天*/public static Date getLastOfMonth(Date date) {//获取当前月最后一天Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));return formatDateTimeEnd(calendar.getTime());}/*** 获取当年的第一天*/public static Date getCurrentFirstOfYear() {Calendar currCal = Calendar.getInstance();int currentYear = currCal.get(Calendar.YEAR);return getFirstOfYear(currentYear);}/*** 获取当年的最后一天*/public static Date getCurrentLastOfYear() {Calendar currCal = Calendar.getInstance();int currentYear = currCal.get(Calendar.YEAR);return getLastOfYear(currentYear);}/*** 获取某年第一天日期* @param year 年份* @return Date*/public static Date getFirstOfYear(int year) {Calendar calendar = Calendar.getInstance();calendar.clear();calendar.set(Calendar.YEAR, year);return calendar.getTime();}/*** 获取某年第一天日期* @param date 日期* @return Date*/public static Date getFirstOfYear(Date date) {int year = Integer.parseInt(String.format("%tY", date));return formatDateTimeZero(getFirstOfYear(year));}/*** 获取某年最后一天日期* @param year 年份* @return Date*/public static Date getLastOfYear(int year) {Calendar calendar = Calendar.getInstance();calendar.clear();calendar.set(Calendar.YEAR, year);calendar.roll(Calendar.DAY_OF_YEAR, -1);return calendar.getTime();}/*** 获取某年最后一天日期* @param date 日期* @return Date*/public static Date getLastOfYear(Date date) {int year = Integer.parseInt(String.format("%tY", date));return formatDateTimeEnd(getLastOfYear(year));}/*** 计算两个日期之间的时间差,到秒* @param start  开始日期* @param end    结束日期* @return Long*/public static Long getDiffDatesToSec(Date start, Date end) {long startTime = start.getTime();long endTime = end.getTime();return (endTime - startTime) / 1000;}public static Date addDay(Date start, Integer day) {Calendar calendar = Calendar.getInstance();calendar.setTime(start);calendar.add(Calendar.DATE, day);return calendar.getTime();}public static Date addMonth(Date start, Integer month) {Calendar calendar = Calendar.getInstance();calendar.setTime(start);calendar.add(Calendar.MONTH, month);return calendar.getTime();}public static Long getRemainMilOneDay(Date date) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.DAY_OF_MONTH, 1);calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);Long seconds = (calendar.getTime().getTime() - date.getTime());return seconds;}public static Long getDiffDays(Date start, Date end) {Long day = (parseDate(formatDate(end)).getTime() - parseDate(formatDate(start)).getTime())/ (1000 * 60 * 60 * 24);return day;}public static String getCurrentTimeSuffix() {Date now = new Date();return format(now, dateTimeSuffixPattern);}public static void testDifSec() {System.out.println("=========before year=========");Date beffore = parseDateTime("2012-10-10 12:00:00");Date after = parseDateTime("2012-10-10 12:00:50");Long diffDatesToSec = getDiffDatesToSec(beffore, after);System.out.println(diffDatesToSec);}public static void main(String args[]) {String format = getCurrentTimeSuffix();System.out.println(format);}
}

请求内容处理:

   public void sendNoticeConent(JSONObject userInfo, String content){ String pwd = MapUtils.getString(userInfo, "pwd");String timespan = DateUtils.getCurrentTimeSuffix();MultiValueMap<String, String> params= new LinkedMultiValueMap<>();params.put("pwd", Collections.singletonList(Md5Utils.md5(pwd, timespan)));params.put("timespan", Collections.singletonList(timespan));params.put("content", Collections.singletonList(Base64Utils.encode(content))); params.put("msgfmt", Collections.singletonList("UTF-8")); // 跟encode保持一致// 发送请求}

 

总结:

         MD5(Message Digest Algorithm 5)是一种常用的哈希算法,用于将任意长度的数据转换为固定长度的哈希值。它具有以下特色特点:

        1、不可逆性:MD5算法是一种单向哈希函数,即无法通过哈希值反推出原始数据。这意味着即使知道哈希值,也无法直接得到原始数据的内容。因此,MD5被广泛应用于密码存储等场景,增加了数据的安全性。

        2、高速性:相对于其他哈希算法,如SHA-1或SHA-256,MD5算法具有较高的计算速度。这使得MD5在处理大量数据时能够提供较快的计算效率,适用于需要频繁计算哈希值的场景。

        3、固定长度输出:MD5算法的输出固定为128位的哈希值,无论原始数据的长度如何,输出都是固定长度的。这为比较和存储哈希值提供了方便,同时也为验证数据完整性提供了基础。

        4、广泛应用:由于MD5算法的特点,它被广泛应用于数据校验、密码存储、数字签名等领域。例如,在网络传输中,可以使用MD5校验和来验证文件的完整性;在用户登录系统时,可以使用MD5加密存储密码,增加密码的安全性。

        5、容易实现:MD5算法的实现相对简单,算法流程清晰明了。这使得开发人员能够轻松地将MD5算法集成到自己的应用程序中,提供数据的哈希计算和校验功能。

        需要注意的是,由于MD5算法存在一些安全性问题,如碰撞攻击和彩虹表破解等,它已经不再被推荐作为密码存储的安全选择。在安全敏感的场景中,建议使用更强大的哈希算法,如SHA-256。

     

http://www.wooajung.com/news/29190.html

相关文章:

  • 住房和城乡建设部网站北京游戏推广怎么快速拉人
  • 商城网站平台怎么做企业网站管理系统怎么操作
  • 哈尔滨餐饮网站建设宁波seo网络推广报价
  • 郑州微信网站制作百度门店推广
  • 做网站的网页用什么软件好网站的优化从哪里进行
  • 石家庄电子商城网站建设济南seo网络优化公司
  • 做的好的装修公司网站搜索引擎优化的主要工作有
  • 网站上的洗衣液瓶子做花瓶怎么材质第三方网站流量统计
  • 网站qq线客服咋做seo从0到1怎么做
  • 网站怎么做滚动字幕成都seo正规优化
  • 网站建设网络公司seo具体seo怎么优化
  • 好用的网站后台网络整合营销
  • wordpress 附件重命名seo搜索优化网站推广排名
  • 博物建设公司网站百度建站平台官网
  • vs c 网站开发怎么在百度上推广
  • 东莞拓步网站建设网站优化软件哪个好
  • 云南省城乡建设厅网站seo外链推广工具下载
  • 深圳做积分商城网站建设站长聚集地
  • 想在百度做网站南宁正规的seo费用
  • 用jsp怎么做的购物网站天津百度seo排名优化软件
  • 安庆做网站百度一下全知道
  • 做网站最好用的软件企业推广平台排行榜
  • aws 怎么装wordpress广州百度seo优化排名
  • 新开传奇网站发布网中变百度导航下载安装手机导航
  • 6黄页网站建设自然搜索优化
  • 白银区住房和城乡建设局网站肇庆网站快速排名优化
  • 怎么做电影网站服务器西安网站托管
  • 英文网站建设合肥seo优化公司
  • 时尚flash网站重庆关键词优化
  • 图像放大网站如何实现网站的快速排名