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

做网站有哪些类型的百度站长平台网页版

做网站有哪些类型的,百度站长平台网页版,wordpress文章数据库表,java+做网站后台前言: 项目中需要调用其他系统的 api 接口,接口使用的是按一定规则生成 MD5 密文作为签名来进行身份验证,本文仅记录 32 位 MD5 密文的生成方式,仅供参考。 什么是MD5 加密? MD5 加密是一种加密算法,MD5…

前言:

项目中需要调用其他系统的 api 接口,接口使用的是按一定规则生成 MD5 密文作为签名来进行身份验证,本文仅记录 32 位 MD5 密文的生成方式,仅供参考。

什么是MD5 加密?

MD5 加密是一种加密算法,MD5 加密算法被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致,同时 MD5 加密是一种不可逆的加密算法,不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样加密算法处理,得到相同的密文被系统重新识别后,才能真正解密。

对方系统签名规则:

1、构造签名因子:将Headers除"sign"外的所有参数按key进行字!典升序排列。
2、构造签名因子:将第1步中排序后的参数(key=value)用&拼接起来。
2、对构造的签名因子执行md5_32位算法,sign=uppercase (md5_32(s))得到签名。

生成 MD5 签名规则的工具类:

@Slf4j
public class MD5Utils {/*** @Description: MD5 加密* @Date: 2024/4/3 13:38*/public static String md5Encrypt(String plainText) {String cipherText;try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byte[] bytes = md.digest();int i;StringBuilder buf = new StringBuilder();for (byte aByte : bytes) {i = aByte;if (i < 0) {i += 256;}if (i < 16) {buf.append("0");}buf.append(Integer.toHexString(i));}cipherText = buf.toString();} catch (NoSuchAlgorithmException e) {log.error("MD5 加密失败,失败原因:", e);throw new BusinessException("MD5 加密失败");}return cipherText;}/*** @Description: 排序并构造参数* @Date: 2024/4/3 13:57*/public static String formatParam(Map<String, String> param) {String params;try {List<Map.Entry<String, String>> itmes = new ArrayList<>(param.entrySet());//对所有传入的参数按照字段名从小到大排序//Collections.sort(items); 默认正序//可通过实现Comparator接口的compare方法来完成自定义排序itmes.sort(Map.Entry.comparingByKey());/*Collections.sort(itmes, new Comparator<Map.Entry<String, String>>() {@Overridepublic int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {return (o1.getKey().toString().compareTo(o2.getKey()));}});*///构造key=value键值对的形式StringBuilder sb = new StringBuilder();for (Map.Entry<String, String> item : itmes) {if (StringUtils.isNotBlank(item.getKey())) {sb.append(item.getKey()).append("=").append(item.getValue());sb.append("&");}}params = sb.toString();if (!params.isEmpty()) {params = params.substring(0, params.length() - 1);}} catch (Exception e) {log.error("sign 签名构造失败,失败原因:", e);throw new BusinessException("sign 签名构造失败");}return params;}
}

如有错误的地方欢迎指出纠正。

http://www.dt0577.cn/news/47359.html

相关文章:

  • 子公司网站备案百度电脑版登录网站
  • 给一个公司做网站维护网络推广合作资源平台
  • 外资做网站的公司网站优化seo是什么
  • 农村网站建设茂名如何快速推广自己的网站
  • 龙华品牌网站建设营销方式和渠道
  • 做网站还需要续费互联网营销师考证多少钱
  • 做古代风格头像的网站外链生成器
  • 石家庄网站制作网站品牌营销策划ppt
  • 网站建设方案模板下载seo快速软件
  • 二手房中介网站模板seo网站排名厂商定制
  • 云南集优科技网站免费推广网站地址大全
  • 网站吸引用户网站关键词优化wang
  • 邢台网站建设网络公司国家高新技术企业查询
  • m 的手机网站怎么做惠州百度seo排名
  • 新闻单位网站建设的意义学网络与新媒体后悔死了
  • 在线游戏网站网页游戏
  • 电子商务网站建设的工具seo 服务
  • 淮南做网站长春seo结算
  • 2021最火的新媒体营销案例批量优化网站软件
  • web网站开发工具有哪些上海关键词优化排名软件
  • 塑胶科技东莞网站建设百度做广告多少钱一天
  • wordpress账号注册页面seo公司 彼亿营销
  • 国外网站做freelancer搜索引擎营销的原理是什么
  • 微信小程序购物商城成都网站优化及推广
  • 在越南做网站需要什么上海全网营销推广
  • 郑州营销型网站公司电话网站推广和网络推广
  • 个人做商机网站如何盈利如何写软文推广产品
  • 江苏网站建设网站排名优化简述获得友情链接的途径
  • 网站推广对企业的优势百度视频seo
  • 网站模板 整站源码下载网络营销推广的基本手段