微信小程序进行md5加密 ,base64 转码

封装一个Md5加密的工具 :

utils /md5.js

function md5(string) {  function md5_RotateLeft(lValue, iShiftBits) {  return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));  }  function md5_AddUnsigned(lX, lY) {  var lX4, lY4, lX8, lY8, lResult;  lX8 = (lX & 0x80000000);  lY8 = (lY & 0x80000000);  lX4 = (lX & 0x40000000);  lY4 = (lY & 0x40000000);  lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);  if (lX4 & lY4) {  return (lResult ^ 0x80000000 ^ lX8 ^ lY8);  }  if (lX4 | lY4) {  if (lResult & 0x40000000) {  return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);  } else {  return (lResult ^ 0x40000000 ^ lX8 ^ lY8);  }  } else {  return (lResult ^ lX8 ^ lY8);  }  }  function md5_F(x, y, z) {  return (x & y) | ((~x) & z);  }  function md5_G(x, y, z) {  return (x & z) | (y & (~z));  }  function md5_H(x, y, z) {  return (x ^ y ^ z);  }  function md5_I(x, y, z) {  return (y ^ (x | (~z)));  }  function md5_FF(a, b, c, d, x, s, ac) {  a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac));  return md5_AddUnsigned(md5_RotateLeft(a, s), b);  };  function md5_GG(a, b, c, d, x, s, ac) {  a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac));  return md5_AddUnsigned(md5_RotateLeft(a, s), b);  };  function md5_HH(a, b, c, d, x, s, ac) {  a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac));  return md5_AddUnsigned(md5_RotateLeft(a, s), b);  };  function md5_II(a, b, c, d, x, s, ac) {  a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac));  return md5_AddUnsigned(md5_RotateLeft(a, s), b);  };  function md5_ConvertToWordArray(string) {  var lWordCount;  var lMessageLength = string.length;  var lNumberOfWords_temp1 = lMessageLength + 8;  var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;  var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;  var lWordArray = Array(lNumberOfWords - 1);  var lBytePosition = 0;  var lByteCount = 0;  while (lByteCount < lMessageLength) {  lWordCount = (lByteCount - (lByteCount % 4)) / 4;  lBytePosition = (lByteCount % 4) * 8;  lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));  lByteCount++;  }  lWordCount = (lByteCount - (lByteCount % 4)) / 4;  lBytePosition = (lByteCount % 4) * 8;  lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);  lWordArray[lNumberOfWords - 2] = lMessageLength << 3;  lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;  return lWordArray;  };  function md5_WordToHex(lValue) {  var WordToHexValue = "",  WordToHexValue_temp = "",  lByte, lCount;  for (lCount = 0; lCount <= 3; lCount++) {  lByte = (lValue >>> (lCount * 8)) & 255;  WordToHexValue_temp = "0" + lByte.toString(16);  WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);  }  return WordToHexValue;  };  function md5_Utf8Encode(string) {  string = string.replace(/\r\n/g, "\n");  var utftext = "";  for (var n = 0; n < string.length; n++) {  var c = string.charCodeAt(n);  if (c < 128) {  utftext += String.fromCharCode(c);  } else if ((c > 127) && (c < 2048)) {  utftext += String.fromCharCode((c >> 6) | 192);  utftext += String.fromCharCode((c & 63) | 128);  } else {  utftext += String.fromCharCode((c >> 12) | 224);  utftext += String.fromCharCode(((c >> 6) & 63) | 128);  utftext += String.fromCharCode((c & 63) | 128);  }  }  return utftext;  };  var x = Array();  var k, AA, BB, CC, DD, a, b, c, d;  var S11 = 7,  S12 = 12,  S13 = 17,  S14 = 22;  var S21 = 5,  S22 = 9,  S23 = 14,  S24 = 20;  var S31 = 4,  S32 = 11,  S33 = 16,  S34 = 23;  var S41 = 6,  S42 = 10,  S43 = 15,  S44 = 21;  string = md5_Utf8Encode(string);  x = md5_ConvertToWordArray(string);  a = 0x67452301;  b = 0xEFCDAB89;  c = 0x98BADCFE;  d = 0x10325476;  for (k = 0; k < x.length; k += 16) {  AA = a;  BB = b;  CC = c;  DD = d;  a = md5_FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);  d = md5_FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);  c = md5_FF(c, d, a, b, x[k + 2], S13, 0x242070DB);  b = md5_FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);  a = md5_FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);  d = md5_FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);  c = md5_FF(c, d, a, b, x[k + 6], S13, 0xA8304613);  b = md5_FF(b, c, d, a, x[k + 7], S14, 0xFD469501);  a = md5_FF(a, b, c, d, x[k + 8], S11, 0x698098D8);  d = md5_FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);  c = md5_FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);  b = md5_FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);  a = md5_FF(a, b, c, d, x[k + 12], S11, 0x6B901122);  d = md5_FF(d, a, b, c, x[k + 13], S12, 0xFD987193);  c = md5_FF(c, d, a, b, x[k + 14], S13, 0xA679438E);  b = md5_FF(b, c, d, a, x[k + 15], S14, 0x49B40821);  a = md5_GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);  d = md5_GG(d, a, b, c, x[k + 6], S22, 0xC040B340);  c = md5_GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);  b = md5_GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);  a = md5_GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);  d = md5_GG(d, a, b, c, x[k + 10], S22, 0x2441453);  c = md5_GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);  b = md5_GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);  a = md5_GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);  d = md5_GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);  c = md5_GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);  b = md5_GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);  a = md5_GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);  d = md5_GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);  c = md5_GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);  b = md5_GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);  a = md5_HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);  d = md5_HH(d, a, b, c, x[k + 8], S32, 0x8771F681);  c = md5_HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);  b = md5_HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);  a = md5_HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);  d = md5_HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);  c = md5_HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);  b = md5_HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);  a = md5_HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);  d = md5_HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);  c = md5_HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);  b = md5_HH(b, c, d, a, x[k + 6], S34, 0x4881D05);  a = md5_HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);  d = md5_HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);  c = md5_HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);  b = md5_HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);  a = md5_II(a, b, c, d, x[k + 0], S41, 0xF4292244);  d = md5_II(d, a, b, c, x[k + 7], S42, 0x432AFF97);  c = md5_II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);  b = md5_II(b, c, d, a, x[k + 5], S44, 0xFC93A039);  a = md5_II(a, b, c, d, x[k + 12], S41, 0x655B59C3);  d = md5_II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);  c = md5_II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);  b = md5_II(b, c, d, a, x[k + 1], S44, 0x85845DD1);  a = md5_II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);  d = md5_II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);  c = md5_II(c, d, a, b, x[k + 6], S43, 0xA3014314);  b = md5_II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);  a = md5_II(a, b, c, d, x[k + 4], S41, 0xF7537E82);  d = md5_II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);  c = md5_II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);  b = md5_II(b, c, d, a, x[k + 9], S44, 0xEB86D391);  a = md5_AddUnsigned(a, AA);  b = md5_AddUnsigned(b, BB);  c = md5_AddUnsigned(c, CC);  d = md5_AddUnsigned(d, DD);  }  return (md5_WordToHex(a) + md5_WordToHex(b) + md5_WordToHex(c) + md5_WordToHex(d)).toLowerCase();  
}  
export  { md5}

base64转码,上传图片 :

 wx.getFileSystemManager().readFile({filePath: avatarUrl,encoding: 'base64',success : (res) => {     const  base64Data = 'data:image/png;base64,' + res.data// console.log(base64Data);// 在这里可以使用base64Data,比如发送给服务器或者进行其他操作}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

恶意PDF文档分析记录

0x1 PDF是什么 PDF&#xff08;便携式文件格式&#xff0c;Portable Document Format&#xff09;是由Adobe Systems在1993年用於文件交换所发展出的文件格式。 因为PDF的文件格式性质广泛用于商业办公&#xff0c;引起众多攻击者对其开展技术研究&#xff0c;在一些APT&#…

Spring-事务学习

spring事务 1. 什么是事务? 事务其实是一个并发控制单位&#xff0c;是用户定义的一个操作序列&#xff0c;这些操作要么全部完成&#xff0c;要不全部不完成&#xff0c;是一个不可分割的工作单位。事务有 ACID 四个特性&#xff0c;即&#xff1a; 原子性&#xff08;Atom…

CVE-2024-2961漏洞的简单学习

简单介绍 PHP利用glibc iconv()中的一个缓冲区溢出漏洞&#xff0c;实现将文件读取提升为任意命令执行漏洞 在php读取文件的时候可以使用 php://filter伪协议利用 iconv 函数, 从而可以利用该漏洞进行 RCE 漏洞的利用场景 PHP的所有标准文件读取操作都受到了影响&#xff1…

段探测的研究

在介绍今天的内容之前&#xff0c;我们先要知道一些前置的知识 跳过繁琐的介绍&#xff0c;我们单刀直入&#xff0c;介绍一个划时代的CPU 8086 8086 从8086开始&#xff0c;CPU扩展到了16位&#xff0c;地址的位宽扩展到了20位&#xff0c;自此之后我们现在所熟知的计算机结…

Linux:进程的优先级 进程切换

文章目录 前言一、进程优先级1.1 基本概念1.2 查看系统进程1.3 PRI和NI1.4 调整优先级1.4.1 top命令1.4.2 nice命令1.4.3 renice命令 二、进程切换2.1 补充概念2.2 进程的运行和切换步骤&#xff08;重要&#xff09; 二、Linux2.6内核进程O(1)调度队列&#xff08;重要&#x…

【学习心得】算力云平台上的大模型部署并实现远程调用

以AutoDL算力云平台为例&#xff0c;部署国产开源ChatGLM3b模型。 一、准备工作 &#xff08;1&#xff09;准备一台算力服务器 首先&#xff0c;进入AutoDL官网的算力时长选择算力服务器资源。 创建好后会自动跳转控制台的“容器实例”界面&#xff0c;稍等片刻后选择“快捷…

【Linux】—进程地址空间

大家好呀&#xff0c;我是残念&#xff0c;希望在你看完之后&#xff0c;能对你有所帮助&#xff0c;有什么不足请指正&#xff01;共同学习交流哦 本文由&#xff1a;残念ing原创CSDN首发&#xff0c;如需要转载请通知 个人主页&#xff1a;残念ing-CSDN博客&#xff0c;欢迎各…

leetcode-44-通配符匹配

题解&#xff1a; 代码&#xff1a; 参考&#xff1a; (1)牛客华为机试HJ71字符串通配符 (2)leetcode-10-正则表达式匹配

低成本出租屋5G CPE解决方案:ZX7981PG/ZX7981PM WIFI6千兆高速网络

刚搬进新租的房子&#xff0c;没有网络&#xff0c;开个热点&#xff1f;续航不太行。随身WIFI&#xff1f;大多是百兆级网络。找人拉宽带&#xff1f;太麻烦&#xff0c;退租的时候也不能带着走。5G CPE倒是个不错的选择&#xff0c;插入SIM卡就能直接连接5G网络&#xff0c;千…

学习日记_20241117_聚类方法(高斯混合模型)

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…

列出D3的所有交互方法,并给出示例

D3.js 提供了丰富的交互方法&#xff0c;可以用来增强图表的用户交互体验。以下是一些常用的交互方法及其示例&#xff1a; 1. 鼠标事件 on("mouseover", function) 用途: 当鼠标悬停在元素上时触发。示例:svg.selectAll(".bar").on("mouseover&qu…

设计模式-参考的雷丰阳老师直播课

一般开发中使用的模式为模版模式策略模式组合&#xff0c;模版用来定义骨架&#xff0c;策略用来实现细节。 模版模式 策略模式 与模版模式特别像&#xff0c;模版模式会定义好步骤定义好框架&#xff0c;策略模式定义小细节 入口类 使用模版模式策略模式开发支付 以上使用…

模拟实现STL中的list

目录 1.设计list的结点 2.设计list的迭代器 3.list类的设计总览 4.list类的迭代器操作 5.list类的四个特殊的默认成员函数 无参的默认构造函数 拷贝构造函数 赋值运算符重载函数 析构函数 6.list类的插入操作 7.list类的删除操作 8.list.hpp源代码 1.设计list的结点…

.NET SDK 各操作系统开发环境搭建

一、Win10&#xff08;推荐&#xff09; 1、VS 2022 社区版 # 下载地址 https://visualstudio.microsoft.com/zh-hans/downloads/ 2、.NET 6 SDK # 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 3、Hello World 如果需要使用旧程序样式时&#xff0c;则…

IDEA怎么定位java类所用maven依赖版本及引用位置

在实际开发中&#xff0c;我们可能会遇到需要搞清楚代码所用依赖版本号及引用位置的场景&#xff0c;便于排查问题&#xff0c;怎么通过IDEA实现呢&#xff1f; 可以在IDEA中打开项目&#xff0c;右键点击maven的pom.xml文件&#xff0c;或者在maven窗口下选中项目&#xff0c;…

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发&#xff0c;能够通过模板渲染结合数据生成动态页面。在这篇文章中&#xff0c;我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据&#xff0c;并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染&#xff1f;1.1 概…

力扣 LeetCode 144. 二叉树的前序遍历(Day6:二叉树)

解题思路&#xff1a; 方法一&#xff1a;递归&#xff08;中左右&#xff09; class Solution {List<Integer> res new ArrayList<>();public List<Integer> preorderTraversal(TreeNode root) {recur(root);return res;}public void recur(TreeNode roo…

高级 SQL 技巧讲解

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; SQL&#xff08;结构化查询语言&#xff09;是管理和操作数据库的核心工具。从基本的查询语句到复杂的数据处理&#xff0c;掌握高级 SQL 技巧不仅能显著提高数据分析的效率&#xff0c;还能解决业务中的复…

pom中无法下载下来的类外部引用只给一个jar的时候

比如jar在桌面上放着,操作步骤如下&#xff1a; 选择桌面&#xff0c;输入cmd ,执行mvn install:install-file -DgroupIdcom -DartifactIdaspose-words -Dversion15.8.0 -Dpackagingjar -Dclassifierjdk11 -Dfilejar包名称 即可把jar包引入成功。