介绍两种密码加密的方法:这两种很常见可以再百度随意找到。1.摩斯密码;说道密码加密不得不提的方法。很是经典。首先说一下他的对照表,直接上图。核心思想就是替换明文密码,将字符对应的替换成-与.两种符号的组合;2、栅栏密码;所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两...
/**
*
* DES FOR .NET版本
* @author Administrator
*
*/
class DES_NET{
var $key;
var $iv; //偏移量
function DES_NET( $key, $iv=0 ) {
//key长度8例如:1234abcd
$this->key = $key;
if( $iv == 0 ) {
$this->iv = $key; //默认以$key 作为 iv
} else {
$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_...
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045~RFC2049。上面有MIME的具体规范。Base64编码可用于在HTTP环境下传递较长的标识信息。比如,在Java Persistence系统Hibernate中,就採用了Base64来将一个较长的唯一标识符
(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTPGET URL中的參数。在其它
应用程序
中,也经常须要把二进制数据编码为适合放在URL(包含隐藏表单域)中的...
创建一个类,通过位运算中的”^"异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串。当把加密后的字符串作为程序输入内容,再与那个指定的值进行异或运算,实现把加密后的字符串还原为原有字符串的值。?1234567891011121314importjava.util.Scanner;publicclassExample { publicstaticvoidmain(String[] args) { Scanner scan = newScanner(System.in); ...
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。 设计思想:输入一个字符串,然后将其中每个字符单独取出,并且用字符的算法进行加3,强制转化为后面3位的字符,最后输出。 程序流程图: 源代码:
package test;
import java.util.*; //引用util包publicclass Caesar {publicstaticvoid main(String[] args) {// T...
public class Md5Util {/*** md5加密的方法* @param text* @return*/public static String encode(String text){try {MessageDigest digest = MessageDigest.getInstance("MD5");byte[] result = digest.digest(text.getBytes());StringBuilder sb = new StringBuilder();for(byte b : result){int number = b&0xff; String hex = Integer.toHexString(number);if(hex.length()==1){sb.append("0");}sb.append(hex);}return sb.toS...
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.security.Key;import java.security.MessageDigest;import java.util.Base64;import javax.crypto.Cipher;import javax.crypto.CipherInputStream;import javax.crypto.CipherOutputStream;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;i...
需求环境:
西安项目中,客户要求保护用户的密码信息,不允许在http中传递明文的密码信息。
实现:
用RSA非对称加密方式实现。后台生成rsa密钥对,然后在登陆页面设置rsa公钥,提交时用公钥加密密码,生成的密文传到后台,用私钥解密,获取密码明文。
这样客户端只需要知道rsa加密方式和公钥,前台不知道私钥是无法解密的,此解决方案还是相对比较安全的。
附件是参照网友资料的java+JS的实现,放在这里供大家下载。访问方式/RSA...
码,如以下<span style="font-size:18px;">import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class Main {public static void main(String[] args) {Main Main = new Main();System.out.println(Main.encryption("xiaowen123"));}/*** * @param plainText* 明文* @return 32位密文*/public String encryption(String plainText) {String md5 = new String();try {MessageDig...
Java和.NET的系统类库里都有封装DES对称加密的实现方式,但是对外暴露的接口却各不相同,甚至有时会让自己难以解决其中的问题,比如Java加密后的结果在.NET中解密不出来等,由于最近项目有跨Java和.NET的加解密,经过我的分析调试,终于让它们可以互相加密解密了。 DES加密 DES是一种对称加密(Data Encryption Standard)算法,以前我写过一篇文章:.NET中加密解密相关知识,有过简单描述。 DES算法一般有两个关键点,第...
<dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.6.4</version></dependency>publicstaticvoid zip(File currentDir, String toFilePath, String password) throws Exception {// 生成的压缩文件ZipFile zipFile = new ZipFile(toPath);ZipParameters parameters = new ZipParameters();// 压缩方式 parameters.setCompressionMethod(CompressionMethod.DEFLATE);// 压缩级别 pa...
造成这个现象的原因是:js加密前未对中文字符进行UTF-8转码;解决方案1:直接是用下面的JS代码进行加密即可: 1function md5(string) {2function md5_RotateLeft(lValue, iShiftBits) {3return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));4 }5 6function md5_AddUnsigned(lX, lY) {7var lX4, lY4, lX8, lY8, lResult;8 lX8 = (lX & 0x80000000);9 lY8 = (lY & 0x80000000);10 lX4 = (...
一、概述 Jasypt 这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成 hibernate,Spring Security(Acegi)来增强密码管理。 Jasypt是一个Java库,可以使开发者不需太多操作来给Java项目添加基本加密功能,而且不需要知道加密原理。 根据Jasypt文档,该技术可用于加密任务与应用程序,例如加密密码、敏感信息和数据通信、创建完整检查数据的sums. 其他性能包括高安...
1package com.test;2 3import java.io.File;4import java.io.FileInputStream;5import java.io.FileOutputStream;6import java.io.InputStream;7import java.io.OutputStream;8import java.security.KeyPair;9import java.security.KeyPairGenerator;10import java.security.NoSuchAlgorithmException;11import java.security.interfaces.RSAPrivateKey;12import java.security.interfaces.RSAPublicKey;13import javax.crypto.Ci...
1.BouncyCastle:第三方提供的一组加密/哈希算法提供JDK没有提供的算法RipeMD160哈希算法官方网站2.如何使用第三方提供的算法2.1 添加第三方jar至classpath
* jar包下载地址
* IDEA:project structure-modules-dependencies-添加,选择Jars or directory,添加jar包即可2.2 注册第三方算法提供方2.3 正常使用JDK提供的接口 public static void main(String[] args) throws Exception{Security.addProvider(new BouncyCastleProv...