首页 > 编程语言 >Exception in thread "main" java.security.InvalidKeyException: Wrong key size问题的解决(DES加密算法遇

Exception in thread "main" java.security.InvalidKeyException: Wrong key size问题的解决(DES加密算法遇

时间:2023-10-13 19:22:32浏览次数:44  
标签:Exception java SecretKeySpec DES Cipher key main 加密算法

问题描述

在Java里面使用DES加密算法,然后就爆出这个错误:

问题解决

换用了另外一种加密解密的函数:SecretKeySpec

即将原来的这种:

换成了这种:

我是觉得使用DES加密算法时,它一直显示key的字节长度不对,就想着换一种表述方式,又看到了别的友友的经验分享,就换成这样试了试(直接放进main主函数里面就能运行):

        String text="123";
        SecretKeySpec sks=new SecretKeySpec(password.getBytes(),"DES");
        Cipher c=Cipher.getInstance("DES");
        c.init(Cipher.ENCRYPT_MODE,sks);
        byte[] bytes=c.doFinal(text.getBytes());
        System.out.println(new String(bytes));
        


运行成功!

标签:Exception,java,SecretKeySpec,DES,Cipher,key,main,加密算法
From: https://www.cnblogs.com/liuzijin/p/17762925.html

相关文章

  • java语言编码规范
    今天或者说这周突然意识到一个比较重要的问题,就是java语言的编码规范问题,于是整理了一部分的规范格式并且学习:类名要首字母大写,比如 SupplierService,PaymentOrderAction;不要 supplierService,paymentOrderAction.1.4 方法名首字母小写,如 addOrder() 不要 AddOrder()......
  • 2023.10.13 JavaScript DOM
    文档对象模型获取对象1.根据id属性值获取,返回单个对象varh1=document.getElementById('h1');2.根据标签名获取,返回对象数组vardivs=document.getElementByTagName('div');3.根据name属性值获取,返回对象数组varhobbys=document.getElementByName('hobby');4.根......
  • Java 知识 复习
    1.并发编程下面的程序需要导入java.util.concurrent.*1.1用户线程(四种方式)创建用户线程的方式有4种,分别是继承Thread类、实现Runnable接口、实现Callable接口、以及使用线程池。1.1.1继承自Thread类这种方式比较简单,通过继承Thread类,并重写run()方法。......
  • 能否翻译翻译,到底什么才叫“精通Java” ?
    01 模糊的岗位能力标准 技术类人员的招聘始终是令HR与技术面试官头疼的事。在一般招聘流程中,当确定了某个岗位招聘需求后,技术面试官会与HR一同商讨并明确该岗位的画像。明确画像后,一般HR会负责在招聘平台书写岗位JD,技术面试官则会准备相应的笔面试题目来考核岗位所要的能......
  • Java学习笔记二
    Java学习笔记二面向对象(ObjectOriented)属性(成员变量)跟随对象放在堆里面,局部变量(如p1)放在栈里面。只有成员变量的前面能添加权限修饰符,且成员变量自带默认值。在一个类中,一个方法可以调用这个类中的其余方法(包括自身,即递归)以及成员变量,不能在方法中再定义方法。方法重载(O......
  • 在Eclipse将Java代码打包为jar用于jmeter BeanShell
    Beanshell是java的轻量级脚本,可以直接引用java代码,有下面3种方式:1、直接输入java代码2、导入java文件(或者导入class文件)3、导入jar文件现在记录第三种方式,导入jar文件第一步是先在Eclipse将Java代码打包为jar1、先准备好需要打包的代码 2、首先在Eclipse中选中需要打包......
  • 在Eclipse将Java代码打包为jar用于jmeter BeanShell(HMAC_SHA1)加密
    Eclipse代码importjavax.crypto.Mac;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;importjava.nio.charset.StandardCharsets;importjava.security.InvalidKeyException;importjava.security.NoSuchAlgorithmException;publicclassHMAC_data......
  • 简单工厂模式--Java实现+C++实现
    问题描述使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。问题实现用starUML画的相应的类图:然后就是代码实现:Java代码实现在Java里面,Person类相......
  • 将java程序,安装为windows服务,开机自启动
    借助WindowsServiceWrapper小工具,将java程序转换为Windows服务,在服务中心配置自启动,从而在开机时windows自行启动服务。WindowsServiceWrapper下载URL:https://github.com/winsw/winsw/releases如下图,为windows32位和64位的工具文件 32位:链接: https://pan.baidu.co......
  • java运行时数据区
    Java运行时数据区域  众所周知,Java虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问题,排查错误就必须要了解虚拟机是怎样使用内存的。包含:程序计数器(PC)、堆、本地方法栈、虚拟机栈、元空间  下图是JDK8之后的JVM内存布局。程序计数器(PC)内存中一块较小的空......