flutter属于前端还是后端(kotlin比较flutter)

尝试了网上多种库和教程都没办法互解,JAVA代码如下,求个大佬帮忙用dart(Flutter)实现一个可以互解的aes加密代码packagecom.example.lib;importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;public…

大家好,又见面了,我是你们的朋友全栈君。

尝试了网上多种库和教程都没办法互解,JAVA代码如下,求个大佬帮忙用dart(Flutter)实现一个可以互解的aes加密代码package com.example.lib;

import javax.crypto.Cipher;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

public class Test {

static String keyStr = “620F15CFDB5C79C34B3940537B21EDA072E22F5D7151456DEC3932D7A2B22C53”;

static String ivStr = “85D7D7DA41E22C1A66C9C1BFC70A1088”;

public static void main(String[] args) {

String haha = encrypt(“哈哈!你好。”);//B7488CC936D5FF626F50900F99CEB2E13D99

decrypt(haha);

}

static String encrypt(String content) {

try {

byte[] ivByte = hex2byte(ivStr);

byte[] key = hex2byte(keyStr);

Cipher cipher = Cipher.getInstance(“AES/CFB/NoPadding”);

SecretKeySpec keySpec = new SecretKeySpec(key, “AES”);

IvParameterSpec ivSpec = new IvParameterSpec(ivByte);

cipher.init(1, keySpec, ivSpec);

byte[] doFinal = cipher.doFinal(content.getBytes(“UTF-8”));

System.out.println(“doFinale:” + byte2hex(doFinal));

return byte2hex(doFinal);

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

static void decrypt(String content) {

try {

byte[] ivByte = hex2byte(ivStr);

byte[] contentByte = hex2byte(content);

byte[] key = hex2byte(keyStr);

Cipher cipher = Cipher.getInstance(“AES/CFB/NoPadding”);

SecretKeySpec keySpec = new SecretKeySpec(key, “AES”);

IvParameterSpec ivSpec = new IvParameterSpec(ivByte);

cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);

byte[] result = cipher.doFinal(contentByte);

System.out.println(new String(result, “UTF-8”));

} catch (Exception e) {

e.printStackTrace();

}

}

public static byte[] hex2byte(String str) {

if (str == null) {

return null;

}

int length = str.length();

if (length % 2 == 1) {

return null;

}

byte[] bArr = new byte[length / 2];

for (int i = 0; i != length / 2; i++) {

int j = i * 2;

bArr[i] = (byte) Integer.parseInt(str.substring(j, j + 2), 16);

}

return bArr;

}

public static String byte2hex(byte[] bArr) {

String str = “”;

for (byte b : bArr) {

String hexString = Integer.toHexString(b & 255);

str = hexString.length() == 1 ? str + “0” + hexString : str + hexString;

}

return str.toUpperCase();

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127422.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • clion永久激活码【2021免费激活】

    (clion永久激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • Angularjs 服务

    Angularjs 服务AngularJS服务(Service):www.runoob.com/angularjs/angularjs-services.htmlAngularJS内建了30多个服务。官网搜索service吧https://docs.angularjs.org/api/ng/service/$window$http是AngularJS应用中最常用的服务。服务向服务器发送请求,应用响应服…

  • python语法:如何通过value找key[通俗易懂]

    python语法:如何通过value找key[通俗易懂]python语法:如何通过value找key

  • jre环境变量配置_Windows系统配置Java环境变量

    jre环境变量配置_Windows系统配置Java环境变量一、到达环境变量配置页面从路径:桌面->控制面板->系统和安全->系统,到达系统,点击左侧“高级系统设置”,再点击“环境变量”。方法1:在桌面上右键“此电脑”,选择属性,直接到达系统(桌面无“此电脑”或“控制面板”的同学可选择方法2),然后点击“高级系统设置”,再点击“环境变量”,到达配置页面。123方法2:1点击窗口,选择设置2搜索并…

  • 7款公认比较出色的Python IDE,你值得拥有![通俗易懂]

    7款公认比较出色的Python IDE,你值得拥有![通俗易懂]Python作为一款比较“简洁”的编程语言,它拥有很多性价比高的性能,造就了它现在比较火热的局面,很多人都来学习Python。Python的学习过程少不了IDE或者代码编辑器,或者集成的开发编辑

  • DeepFake技术–Deepfakes教程及各个换脸软件下载

    DeepFake技术–Deepfakes教程及各个换脸软件下载Deepfakes目前用于深度换脸的程序基本都是用python编程语言基于tensorflow进行计算。以下列出几款常用的换脸程序优缺点浅析,用户可以根据自己的爱好和水平来选择,以下软件均需要先安装windows版本的VS2015,CUDA9.0和CuDNN7.0.5(fakeapp教程,deepfakes视频deepfakes中文站(deepfakes.com.cn))下面几个程序的对比…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号