手写SHA1加密算法(Java版)
开发微信公众号过程中,需要使用sha1加密算法与微信api对接,特此学习下sha1算法的实现。
1:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。
2:1byte等于二进制8位,则分成高四位和第四位进行加密解析。由于15在二进制中表示为"00001111",则和15低四位与(&)运算,运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
代码如下:
//sha1加密private static String sha1(String src) {try {//获取加密对象MessageDigest md = MessageDigest.getInstance("sha1");//加密byte[] digest = md.digest(src.getBytes());//sha1加密后结果只能是如下数组的数值char[] chars = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};//拼接加密后的字符串StringBuffer sb = new StringBuffer();//处理加密结果for (byte b : digest) {//1byte代表8位(二进制),分别对高四位和低四位进行与运算,得到chas对应的数值sb.append(chars[(b>>4)&15]);sb.append(chars[b&15]);}return sb.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;}
手写SHA1加密算法(Java版)相关推荐
- 手写一套迷你版HTTP服务器
本文主要介绍如何通过netty来手写一套简单版的HTTP服务器,同时将关于netty的许多细小知识点进行了串联,用于巩固和提升对于netty框架的掌握程度. 服务器运行效果 服务器支持对静态文件css ...
- 金九银十!阿里P8手写的内部Java核心开发成长手册,涵盖p5-p8技术栈,秋招必看!
前言 程序员的年龄一直是大家讨论的热门话题,本人最近和不少小公司的程序员打交道.经过和他们的深入交流,我感受到了不少小公司程序员的现状,由此深深地感叹,可能真有不少小公司的程序员未必能干到30岁,甚至 ...
- java keypad game,玩机技巧:手写笔控制JAVA游戏
手写笔控制JAVA游戏 1.进入JAVA游戏页面: 2.点下拉菜单键,选择Options-JavaPreferences. 3.进入设置菜单后:第一项(Preferences)设置为:Applicat ...
- 基于感知机的手写数字识别java实现
多层感知机的手写数字识别,迭代10次对训练集的正确率97 Main函数,在绘制完数字后,要点下确定按钮再去识别,重绘按钮自然是再次绘图 训练自己的网络结构会替换之前训练的网络结构,没有写保存或者另存新 ...
- java 手写签名,signature java html5+ 手写签名 源码 Develop 238万源代码下载- www.pudn.com...
文件名称: signature下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 491 KB 上传时间: 2013-08-03 下载次数: 17 提 供 者: 孙晨 ...
- 手写一个栈 java,数据结构|用java自己手写实现一个栈
javaDEMO 本网站记录了最全的各种JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, spring的, Mybatis的等等各种,助力你从菜鸟到大牛,记得收藏哦~~ https ...
- 手写数字识别增强版项目实践规划
项目人员: 1160300925 王卓 1160300630 范航明 1160300316 张雅舒 1160300920 陈浩楠 项目选择: 项目一,手写数字增强版 Github 仓库地址: http ...
- 【uni-app】使用写字板,实现手写签名----直接使用版
需求 用户需在APP或小程序使用手写的方式签字或签名 效果图片 实现方式 封装成组件调用(推荐),如需了解使用可点击前往-[封装组件版] 使用的页面内直接使用,目前的教程就是直接使用的,未封装成组件 ...
- 手写识别ocr java,怎么识别手写文字?迅捷OCR文字识别软件帮你快速完成!
怎么识别手写文字?虽然现在手机.平板等设备已经普及开来,但是从小在学校养成的习惯,还是让大部分人选择会手写的方式.手写其实也有很大的缺陷,无论是在生活中还是在网络上进行分享都比较困难. 那么有没有将手 ...
最新文章
- AI规模化落地,英特尔至强的七重助力
- Web Components是不是Web的未来
- python和java哪个-Python和Java到底哪个更好?
- python语言if语句-python的if语句
- spring原始注解(value)-03
- Linux编程练习 --进程间通信1--无名管道
- python将两个list类型的全排列转换为tuple类型
- 光学算法——Zernike拟合
- 【数字信号】基于matlab GUI双音多频(DTMF)信号检测【含Matlab源码 512期】
- python实现小型搜索引擎设计_Python实现:设计克隆模式
- (专升本)Internet(计算机网络系统)
- iOS 9 真机调试
- 数据库期末大作业:机票预定信息系统数据库设计与实现
- Python3遇到问题unicodeescape codec cant decode bytes in position 2 3 truncated UXXXXXXXX escape解决办法
- 勘探重力实验matlab,MATLAB在重力图制作中的应用
- JWS 批注参考WebService注解
- html页面input框输入不了,input框不能输入问题
- IV与PSI的理解--深入浅出
- mysql数据字段属性
- Kali-Linux安装驱动并使用Blueman连接蓝牙耳机
热门文章
- idea提交时忽略.class、.iml文件和文件夹或目录的方法
- 常用adb命令的使用
- Java通SAS下载sas脚本
- Excel 用vba自动汇总实例
- json-editor-vue3 Vue3 json编辑器使用
- 电子助力方向机控制模块_电动转向助力系统的设置(功能校准)
- lopatkin俄大神精简中文系统Windows 10 Pro 18362.145 19H1 Release x86-x64 ZH-CN DREY
- EJB3+JBoss5+Myeclipse9创建HelloWorld实例
- C语言链表实现学生信息管理系统
- 精艺熔炼,笃行致远——美和易思34期大数据技术师资项目成功举行