• 大小: 4KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签: Java  DES  

资源简介

Java版标准3DES加密/解密方法,加密函数desedeEncoder(String paramString1, String key) 解密函数desedeDecoder(String dest, String key)

资源截图

代码片段和文件信息

package com.ls.utils;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;



public class DESCommon {

    private static final String UTF8 = “utf-8“;//字符编码        
    private static final String ALGORITHM_DESEDE = “DESede“;//定义加密模式  
    //private static String key=PropertyCommon.readInfo(“com/ls/config/system-context.properties““system.basic.key“);  
    private static String key=“1122334455667788“;
    private String byte2HexStr(byte[] paramArrayOfByte)
    {
      StringBuilder localStringBuilder = new StringBuilder();
      for (int i = 0; i < paramArrayOfByte.length; i++) {
        String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF);
        if (str.length() == 1) {
          localStringBuilder.append(“0“);
        }

        localStringBuilder.append(str.toUpperCase());
      }

      return localStringBuilder.toString();
    }
    
    /** 
     * 字符串转字节数组 
     */ 
    private byte[] str2ByteArray(String s) { //只在解密中使用 
        int byteArrayLength = s.length()/2;  
        byte[] b = new byte[byteArrayLength];  
        for (int i = 0; i < byteArrayLength; i++) {  
            byte b0 = (byte) Integer.valueOf(s.substring(i*2 i*2+2) 16).intValue();  
            b[i] = b0;  
        }             
        return b;  
    } 
      
    /**
     * 构造3DES加解密方法key 
     *  
     */  
    private byte[] build3DesKey(String keyStr) throws Exception {  
        byte[] key = new byte[24];  
        byte[] temp = keyStr.getBytes(UTF8);  
        if (key.length > temp.length) {  
            System.arraycopy(temp 0 key 0 temp.length);  
        } else {  
            System.arraycopy(temp 0 key 0 key.length);  
        }             
        return key;  
    } 
    //加密方法
  

评论

共有 条评论