根据32位主机号生成序列号生成二维码并且上传到OSS存储

判断输入的主机号是否为32位,如果不等于32位则返回失败;将主机号经过AES加密算法中密钥为“1234567890123456”的ECB模式加密后,用base64编码形式打印,再经过md5加密算法将打印出来的base64编码生成32位散列值,作为用于激活操作系统的序列号,并基于序列号生成相应的二维码。输入的主机号和输出的序列号需要存储到数据库中。(这个二维码是不变的的,变的是二维码里面的内容在本地)

先去创建一个二维码(里面的内容随便照片、文字)

图片二维码生成器_图片二维码在线制作_互联二维码

依赖

       <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.4.0</version> <!-- 根据最新版本调整 -->
        </dependency>

代码展示

private static final String AES_KEY = "1234567890123456";
    @Override
    public Result<String> generate(String hao) {
        // 验证主机号长度
        if (hao.length() != 32) {
            Result.error("主机号长度不合法,操作失败!");
        }
        // AES加密
        String encryptedHostNumber = encryptAES(hao, AES_KEY);
        // Base64编码
        String base64Encoded = Base64.getEncoder().encodeToString(encryptedHostNumber.getBytes(StandardCharsets.UTF_8));
        // MD5加密
        String md5Hash = generateMD5Hash(base64Encoded);

// 生成二维码(这里省略生成二维码的步骤)
        try {
            // 二维码内容
            String qrCodeData = md5Hash;

            // 设置二维码的宽度和高度
            int width = 300;
            int height = 300;

            // 设置二维码图片保存路径
            String filePath = "之前本地报错的二维码";//自己的


            // 自己的服务器地址
            String endpoint = "";
            // 自己的AccessK
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值