首页 > 其他分享 >几种常用的加密方法

几种常用的加密方法

时间:2023-12-27 17:12:23浏览次数:39  
标签:md 常用 加密 hashtext 几种 static msg digest String

public static void main(String[] args) throws Exception {
        String md5Str = encodeToMD532("hello word");
        //32位,小写
        String md532Lower = md5Str.toLowerCase();
        //32位,大写
        String md532Upper = md532Lower.toUpperCase();
        //16位,小写
        String md516Lower = md532Lower.substring(8, 24);
        //16位,大写
        String md516Upper = md532Lower.substring(8, 24).toUpperCase();
    }

    private static String encodeToMD532(String input) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] digest = md.digest(input.getBytes());
            BigInteger no = new BigInteger(1, digest);
            String hashtext = no.toString(16);
            while (hashtext.length() < 32) {
                hashtext = "0" + hashtext;
            }
            return hashtext;
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }

    private static String encodeSHA256(String msg) {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("SHA-256");
            byte[] digest = md.digest(msg.getBytes());
            StringBuilder hexString = new StringBuilder();
            for (byte b : digest) {
                hexString.append(String.format("%02x", b));
            }
            return hexString.toString();
        } catch (Exception e) {
            // 处理算法不可用的情况
            throw new RuntimeException(e);
        }
    }

  private static String encodeBase64(String msg) {
        return Base64.getEncoder().encodeToString(msg.getBytes());
    }

标签:md,常用,加密,hashtext,几种,static,msg,digest,String
From: https://www.cnblogs.com/dyaqi/p/17930954.html

相关文章

  • 推荐企业用什么加密软件比较好?
    加密软件是一种用于保护企业的数据和信息安全的软件产品,它通常可以对文件、文件夹、硬盘、移动设备等进行加密,防止未经授权的访问、复制、删除、泄露等。加密软件有很多种,不同的软件有不同的特点和功能,选择适合自己企业的就好。 以下是一些企业用的加密软件的示例:华企盾DSC数......
  • AES加密(一般用在登录的密码加密)
    后端说现在主流是AES,AES是一种使用密钥加密的算法,叫做对称加密方式AES加密的模式有两种:EBC,CBC(1)EBC(我用的这种,另一种自己百度)是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。 1.cnpm installcrypto-js--save-dev2.......
  • Linux系统下常用的文本编辑器有哪些?
    文本编辑器是Linux操作系统中非常重要的工具,大家都知道,Linux操作系统真正的魅力在于命令行,当我们使用命令行进行工作时,就需要一个趁手的文本编辑器。那么Linux系统下常用的文本编辑器有哪些?这五个你都用过吗?第一:VimEditorVim是一个类似于Vi的文本编辑器,不过在Vi的基......
  • PFA试剂瓶进口氟塑料取样瓶有哪几种口径?
    南京瑞尼克厂家生产PFA试剂瓶,目前规格齐全,现货速发。小规格30mL-大规格5L都有30mL、60mL非标准口径100mL有小口和大口250mL、300mL、500mL、1000mL有GL32和GL45两个口径选择2000mL标准GL45口径3000mL、4000mL、5000mL都是大口......
  • 私有云 SDK 集成后数据库加密、解密失败、崩溃
    问题原因私有云IMLib提供了数据库加密功能,并且其中包含了一份sqlite3的源码,所以使用私有云IM库的项目中就不能再引入其它sqlite库了,引用系统的或者手动加入的都可能会造成异常解决方案在Xcode中查看对应TARGETS的BuildPhases→LinkBinaryWithLibraries下是否有......
  • 无涯教程-Java加密 - 创建签名
    数字签名使无涯教程可以验证签名的作者,日期和时间,并对邮件内容进行身份验证。它还包括用于其他功能的身份验证功能。创建数字签名现在学习如何创建数字签名。您可以按照以下步骤使用Java创建数字签名。步骤1-创建KeyPairGenerator对象KeyPairGenerator类提供getInstan......
  • 002-STM32F103+EC800K(移远4G Cat1)基本控制篇(阿里云物联网平台)--STM32+EC800K使用M
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ZLIOTB/EC800K/aliyun.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明阿里......
  • 无涯教程-Java加密 - 获取密钥
    在本章中,无涯教程将学习如何使用Java密码术从密钥库中检索密钥。要从密钥库中检索密钥,请遵循以下步骤。步骤1-创建KeyStore对象java.security包的KeyStore类的getInstance()方法接受一个表示密钥库类型的字符串值,并返回一个KeyStore宾语。如下所示,使用此方法创建KeyS......
  • Windows常用快捷键
    功能快捷键切换菜单/代码中空四个格Tab打开开始菜单windows关闭当前窗口Alt+F4复制Ctrl+C粘贴Ctrl+V全选Ctrl+A剪切Ctrl+X撤销Ctrl+Z恢复Ctrl+Y保存Ctrl+S删除(删除到回收站)Delete永久删除Shift+Delete打开运行框window......
  • TDD的工具与技术:了解常用的测试驱动开发工具
    1.背景介绍测试驱动开发(Test-DrivenDevelopment,TDD)是一种软件开发方法,它鼓励开发人员在编写代码之前先编写测试用例。这种方法的目的是通过确保代码的每个部分都有相应的测试用例,从而提高代码质量和可维护性。在过去的几年里,TDD已经成为许多软件开发团队的标准工作流程。在本文中,......