Android里面使用Java实现对字符串进行base64(sha256(“aa“))算法加密

一、步骤

1、新建工具类,添加转换方法

package .......import java.math.BigInteger;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;/*** base64(sha256("aa"))算法加密*/
public class Sha256AndBase64Utils {public static String GenerateSecretKey(String inputString) {// 第一步:计算SHA-256哈希值MessageDigest messageDigest = null;try {messageDigest = MessageDigest.getInstance("SHA-256");} catch (NoSuchAlgorithmException e) {e.printStackTrace();}byte[] inputBytes = inputString.getBytes(StandardCharsets.UTF_8);byte[] sha256HashBytes = messageDigest.digest(inputBytes);//2、将sha256byte数组转为字符串String sha256Info = byteArrayToHexString(sha256HashBytes);//3、将字符串进行base64加密return encodeToBase64(sha256Info);}//字节数组转为字符串public static String byteArrayToHexString(byte[] bytes) {return String.format("%064x", new BigInteger(1, bytes));}//对字符串进行Base64加密public static String encodeToBase64(String plainText) {// 将字符串转换为字节数组byte[] textBytes = plainText.getBytes(Charset.forName("UTF-8"));// 对字节数组进行Base64编码byte[] encodedBytes = Base64.getEncoder().encode(textBytes);// 将编码后的字节数组转换为字符串return new String(encodedBytes);}
}

2、调用方法进行加密

String T_data = "原始字符串";
String secretResult = Base64Utils.GenerateSecretKey(T_data);
Log.e("log","加密后字符串是:"+ secretResult);

3、完成,Nice!

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

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

相关文章

回溯dfs和分支限界bfs

一:拓扑排序 207. 课程表 这道题说白了就是在有向图中找环 拓扑排序实际上应用的是贪心算法。 贪心算法简而言之:每一步最优,全局就最优。 每一次都从图中删除没有前驱的顶点,这里并不需要真正的删除操作,通过设置入度…

数据可视化Grafana Windows 安装使用教程(中文版)

1.跳转连接 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/site?url 2.下载应用程序 官网地址:Grafana get started | Cloud, Self-managed, Enterprisehttps://grafana.com/get/ 3.修改配置文件 grafana\conf\defaults 4.启动\bin\目录下serve应用程序 浏…

원클릭으로 주류 전자상거래 플랫폼 상품 상세 데이터 수집 및 접속 시연 예제 (한국어판)

클릭 한 번으로 전자상거래 플랫폼 데이터를 캡처하는 것은 일반적으로 웹 페이지에서 정보를 자동으로 추출 할 수있는 네트워크 파충류 기술과 관련됩니다.그러나 모든 형태의 데이터 수집은 해당 웹 사이트의 사용 약관 및 개인 정보 보호 정책 및 현지 법률 및 규정을 준수…

天文算法--分点和至点

本文给出二分点和二至点的大约时间的算法。参考《天文算法》。适用年份为-1000年~3000年,精度在代码中给出。后续再补全高精度算法。 package cn.ancony.chinese_calendar;import lombok.AllArgsConstructor; import lombok.Data;import static java.lang.Math.*;/…

inno setup 卸载程序 删除整个安装目录

业务场景:有次客户反馈说,卸载应用程序没有卸载干净,安装目录下残留很多文件,特别是一些配置文件和数据库文件,涉及到一些数据安全机密。卸载程序应该把安装目录都要清除。操作如下: 卸载应用程序&#xf…

利用Redis实现简单的短信登录

在现代应用中,短信登录是一种常见的用户认证方式。它提供了一种便捷的登录方式,同时也增加了账户的安全性。在本文中,我们将介绍如何使用 Redis 实现短信登录的功能,并提供相应的 Java 实现层代码。 1、短信验证码的生成与存储当用…

Java自带的线程池及调用、ThreadPoolExecutor类(线程池的7大参数)、任务队列及底层原理

day32 线程池 引入 一个线程完成一项任务所需时间为: 创建线程时间 - Time1线程中执行任务的时间 - Time2销毁线程时间 - Time3 注意:优化在Time1,Time3(创建销毁线程费时间) 为什么需要线程池 线程池技术正是关注如何缩短或调整Time1和Tim…

Facebook轮播广告是什么?投放过程中有哪些需要注意的吗?

轮播广告是Facebook广告形式中的一种,可以把3—5个广告合并到一个可滚动的广告单元中。轮播广告会出现在新鲜事即News Feed中,是独立站卖家常用的一种广告形式 为什么选择轮播广告? 转化率更高:相较于单图广告,轮播广…

基于单片机输出PWM 波控制的音乐喷泉系统设计

摘 要:随着经济、文化的发展,音乐喷泉作为一种观赏性较高的艺术水景,逐渐出现在全国城市中。但在音乐与喷泉喷射配合过程中,并没有实现二者同步,存在时滞。为此,设计了以STC89C52单片机为核心的小型音乐喷泉控制系统。音乐信号经放大通过A/D转换器处理,送入…

Springboot+vue的高校科研信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校科研信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller&#x…

计算机网络(第八版)-第1章课后习题参考答案

计算机网络(第八版)-第1章课后习题参考答案 本文是对自己之前文章的格式化:https://blog.csdn.net/qq_46396470/article/details/132788972?spm1001.2014.3001.5502 T1-01 计算机网络向用户可以提供哪些服务? 连通性和共享 ,例如音频&…

修改docker容器日志大小

docker-compose.yaml logging:options:max-size: "10m"docker run docker run -d \--name example-container \--log-opt max-size10m \--log-opt max-file3 \nginx:latestdocker daemon全局配置 /etc/docker/daemon.json 参考文档:https://docs.docker…

【Node.JS】koa

文章目录 概述koa和express对比koa下载安装使用1.创建koa项目文件目录2. 创建koa服务3. 添加路由 koa-router4. 数据库服务 mongodb5. 添加请求参数json处理 koa-bodyparser6. 用户接口举例7.引入koa一些常用插件8.用户登录验证 koa-jwt9.webpack生产打包 来源 概述 Koa 是一个…

A fatal error occurred: MD5 of file does not match data in flash!问题解决

采用的芯片是ESP32-S3-WROOM,16MB FLASH 开发环境是Arduino,烧录到100%后直接报错。 以为是Arduino的问题,用esp-idf开发的程序, 烧录的过程中,也是直接报错如下: esptool.py v4.7.0 Serial port /dev/…

k8s下搭建redis集群

记录一下近期实现的在k8s上搭建redis集群的过程 1、新建存储类 主要是为了和其它服务的存储类区分一下 redis-beta-storage 2、编写configMap redis启动时从configMap中读取配置 bind:默认的127.0.0.1可能会导致其它ip地址无法远程访问,因此修改为0.0…

战略定位--选择什么赛道。成为什么样的企业。

2、原则:选择细分赛道,做头部客户 (1)刘伯承:打仗:五行要定、五行不定输的干净、定阵地、了解我情、了解敌情、目标清楚、时间清楚 (2)中小企业不在规模在 (3&#xff09…

揭秘情绪识别:如何让AI读懂你的心声?

最近我在研究大语言模型,想用它来给样本打分。 起初,我尝试让模型用1到5分来评分,但它总是极端地给出最低分或最高分,评分缺乏中间地带。 于是我换了个方法,不再用数字,而是用描述性的词语,比…

【Golang星辰图】加速开发的利器:揭秘Go语言的高效工具集

工具库:提升Go语言开发效率的利器 前言 在现代软件开发中,拥有高效、灵活的工具库是开发人员提高工作效率和简化开发流程的关键。本文将介绍几个优秀的工具库,它们为Go语言开发提供了强大的功能和便捷的工具,帮助开发人员更轻松…

农村集中式生活污水分质处理及循环利用技术指南

立项单位:生态环境部土壤与农业农村生态环境监管技术中心、山东文远环保科技股份有限公司、北京易境创联环保有限公司、中国环境科学研究院、广东省环境科学研究院、中铁第五勘察设计院集团有限公司、中华环保联合会水环境治理专业委员会 本文件规定了集中式村镇生活…

常用的几个ChatGPT网站,国内可用!

🌐 链接: ChatAI 🏷️ 标签: GPT-4 免费体验 付费选项 📝 简介:ChatAI 是一个功能强大的平台,提供GPT-4,不限使用次数,不限Token。用户可以选择包月或是更灵活的按次付…