JAVA中将任意长字串加密成等长字串,有没有
1、简单的Java加密算法有:第一种. BASE Base是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。
2、如果使用了数据库的话可以采用MD5进行加密,若只是本地数据就直接建立一个独立公共类进行字符转换。
3、你好,加密的方式有很多中,如传统加密,后期的分组加密,序列流加密,这些是对称加密,现在有著名的非对称加密。java的扩展包很好的实现了你需要的功能。
4、类似的,楼上说的针对一个汉字的写法也没错。假如是RSA,应该使用BigDecimal函数来做。那么,把字符串按照某一编码格式进行转换成byte [] ,然后使用BigDecimal转换成大整数,就能进行RSA计算了。
求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位…
1、对于任意长度的明文,AES首先对其进行分组,分组的方法与DES相同,即对长度不足的明文分组后面补充0即可,只是每一组的长度为128位。
2、看你使用的DES的填充方式,一般正常。如果采用类似MDsha1等位填充或者PKCS5/7填充方式,都会在整满一个块后追加一个填充块。DES每块64bit,128位明文正好2个块,加1个填充块,正好192bit。
3、AES内部始终使用16 byte的分组长度!加密时,如果明文字节长度不是16的整数倍,要填充到大于该长度的最接近的16的倍数,但是如果刚好等于16的倍数,就额外在添加一个完整的分组,也就是添加16字节。
4、没做过Java的做过c/c++、c#的。注意 这128位应该是指的key,明文长度统一为最大16字符,你这明文都30多个了,需要截断循环处理。
5、加密前后的长度不是固定的,而且你用的密匙不一样的话,长度也不一样。
6、我的理解是对加密的明文没有限制。所谓128位是密钥的长度。用这个密钥和算法去加密明文,得到密文。理论上讲,对明文的长度没有限制。对称加密,从算法的角度来说,其实是不改变文件本身的长度的。
如何使用JAVA实现对字符串的DES加密和解密
你先把java的一个字符比如12345,用已知的key加密,然后同样在C#里用同样的数据加密,比较一下加密的结果是否一样,如果一样再说解密的事。
Cipher.getInstance(DES/CBC/PKCS5Padding);里面的值要设置为同样的,这样才能通过密钥解密。
Solaris下的系统,有一个用C做的加密工具,调用Sunwcry的des(1)对文件进行加密,然后在java中对文件进行解密。java中用的是标准的DES/CBC/NoPadding算法,可是解密后发现开头有8byte的数据出错了,请高人指点一下。
它们都用factory方法来创建类的例程,然后把实际的加密函数委托给提供者指定的底层引擎,引擎中为类提供了服务提供者接口在Java中实现数据的加密/解密,是使用其内置的JCE(Java加密扩展)来实现的。
我以前上密码学课写过一个DES加解密的程序,是自己实现的,不是通过调用java库函数,代码有点长,带有用户界面。
什么叫“初始化向量”?我记得上密码学的时候DES里面没有这个概念~~~DES算法流程就是固定的。可变的只有P盒和S盒。不知道你说的“初始化向量”是不是S盒 加密和解密只是密钥扩展的顺序颠倒,其他算法完全一样。