您的位置:首页 > 健康 > 美食 > 邯郸网站设计有哪些_用手机免费制作自己的网站_百度推广电话是多少_seo zac

邯郸网站设计有哪些_用手机免费制作自己的网站_百度推广电话是多少_seo zac

2025/3/10 6:20:48 来源:https://blog.csdn.net/qq_55752792/article/details/142449646  浏览:    关键词:邯郸网站设计有哪些_用手机免费制作自己的网站_百度推广电话是多少_seo zac
邯郸网站设计有哪些_用手机免费制作自己的网站_百度推广电话是多少_seo zac

文章目录

  • java中常见的加密
    • uuid
    • 随机值
    • 时间戳
    • 十六进制字符串
    • md5
    • base64编码

java中常见的加密

uuid

// 1 python中 直接导入模块,uuid.uuid4()
// 2 固定格式,永不重复的字符串:65fe0c8e - ac3f - 4bcb - bb0b - 7afe60e1dc31-生成全局唯一:可以用来做订单id号,手机设备的唯一id号-app端生成 uuid--存到本地--》每次发请求携带这个uuid//3 java中
import java.util.UUID;
public class Hello {public static void main(String[] args){String uid = UUID.randomUUID().toString();System.out.println(uid);}
}//4  python 中uuid生成
import uuid
uid = str(uuid.uuid4())
print(uid)

随机值

//1 java中 随机生成80位,8位是一个字节,10个字节  
BigInteger v4 = new BigInteger(80, new SecureRandom());
//  让字节以16进制展示
String res = v4.toString(16);
System.out.println(res);// python 3.9
import random
data = random.randbytes(10)  // python3.9
ele_list = []
for item in data:ele = hex(item)[2:]ele_list.append(ele)
res = "".join(ele_list)
print(res)
// 或者
import random
data = "".join([hex(item)[2:] for item in random.randbytes(10)])
print(data)

时间戳

// java 代码
String t1 = String.valueOf(System.currentTimeMillis() / 1000); // 秒级别
String t2 = String.valueOf(System.currentTimeMillis()); // 毫秒级别
System.out.println(t1);
System.out.println(t2);// python代码
import time
v1 = int(time.time())      // 秒级别
v2 = int(time.time()*1000) // 毫秒级别
print(v1)
print(v2)

十六进制字符串

// 方案1 使用转换符public static String bytesToHex(byte[] bytes) {  // 使用StringBuilder来构建最终的字符串  StringBuilder sb = new StringBuilder();  for (byte b : bytes) {  // 将每个字节转换为两位的十六进制数,并追加到StringBuilder中  sb.append(String.format("%02x", b));  }  // 返回构建的字符串  return sb.toString();  }  
// 方案2 采用与255 做与运算方案public static String bytesToHex(byte[] bytes) {  // 使用StringBuilder来构建最终的字符串  StringBuilder sb = new StringBuilder();  for (byte b : bytes) {  // 将每个字节转换为两位的十六进制数,并追加到StringBuilder中  int i = b & 0xFF;if (i < 16) {sb.append('0');}sb.append(Integer.toHexString(i));}  // 返回构建的字符串  return sb.toString();  }  // python 实现
def byte_to_hex(s: str):b = s.encode('utf-8')l = [hex(i)[2:].rjust(2,'0') for i in b]

md5

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public static String getMD5(String input) {try {// 创建一个MD5 MessageDigest 实例MessageDigest md = MessageDigest.getInstance("MD5");// 更新摘要以包含字节数组。md.update(input.getBytes());// 完成哈希计算,获取结果byte[] digest = md.digest();// 将得到的字节转换成十六进制表示StringBuilder hexString = new StringBuilder();for (byte b : digest) {String hex = Integer.toHexString(0xff & b);if(hex.length() == 1) hexString.append('0');hexString.append(hex);}// 返回32位十六进制字符串return hexString.toString();} catch (NoSuchAlgorithmException e) {throw new RuntimeException(e);}}// python 
import hashlib
obj = hashlib.md5('yyy'.encode('utf-8'))
obj.update('xxxxx'.encode('utf-8'))// java中没有这个功能,把每个字节转换成16进制
v1 = obj.hexdigest()
print(v1) # d3c0aaaf596e3299f695591f00fd75cbv2 = obj.digest()
print(v2)  //  b'\xd3\xc0\xaa\xafYn2\x99\xf6\x95Y\x1f\x00\xfdu\xcb'

base64编码

###java写法###
String name = "彭于晏";
# 编码
Base64.Encoder encoder  = Base64.getEncoder();
String res = encoder.encodeToString(name.getBytes());
System.out.println(res); #5b2t5LqO5pmP# 解码
Base64.Decoder decoder  = Base64.getDecoder();
byte[] origin = decoder.decode(res);
String data = new String(origin);
System.out.println(data); // 彭于晏###python写法####
import base64name = "彭于晏"
res = base64.b64encode(name.encode('utf-8'))
print(res) # b'5b2t5LqO5pmP'data = base64.b64decode(res)
origin = data.decode('utf-8')
print(origin) # "彭于晏"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com