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

怎样怎样优化网站建设抖音怎么推广引流

怎样怎样优化网站建设,抖音怎么推广引流,使用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.hkea.cn/news/662413/

相关文章:

  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱
  • 网站被篡改处理app拉新平台
  • 在线房屋设计网站seo推广平台服务
  • 电子政务门户网站建设代码短链接生成网址
  • 崔各庄地区网站建设百度非企渠道开户
  • 怎么用自己的电脑做网站服务器产品推广平台排行榜
  • 中国做的比较好的电商网站有哪些哈市今日头条最新
  • 微信怎么做网站推广百度网站优化培训
  • 网站开发支持多个币种电子技术培训机构
  • 移动网站设计与制作怎么找关键词
  • 国内移动端网站做的最好的厦门人才网597人才网
  • 建网站收费吗aso关键词覆盖优化
  • 西安的网站设计与制作首页微信视频号怎么推广引流
  • 顺义公司建站多少钱pc端百度
  • wordpress收费资源下载关键词优化的策略
  • 广州做网站建设的公司网站公司