⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cipherutil.java

📁 基于Eclipse RCP开发的管理工具
💻 JAVA
字号:
 /*    * Copyright 2006 Marcel Schoffelmeer   *   * Licensed under the Apache License, Version 2.0 (the "License");   * you may not use this file except in compliance with the License.   * You may obtain a copy of the License at   *   *    http://www.apache.org/licenses/LICENSE-2.0   *      * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */package com.s10r.crypto;import java.security.GeneralSecurityException;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.PBEKeySpec;import javax.crypto.spec.PBEParameterSpec;import com.s10r.util.S10RException;public class CipherUtil{    // private static final String SECRET_KEY_ALGORITHM = "PBEWithMD5AndDES";    private static final String SECRET_KEY_ALGORITHM = "PBEWithSHA1AndDESede";    private static final byte[] SALT =    {            (byte) 0xc7, (byte) 0x73, (byte) 0x21, (byte) 0x8c, (byte) 0x7e,            (byte) 0xc8, (byte) 0xee, (byte) 0x99    };    public static Cipher createCipher(int operationMode, String password)    {        try        {            PBEKeySpec pbeKeySpec = new PBEKeySpec(password.toCharArray());            SecretKeyFactory keyFactory = SecretKeyFactory                    .getInstance(SECRET_KEY_ALGORITHM);            SecretKey pbeKey = keyFactory.generateSecret(pbeKeySpec);            int iterationCount = 20;            PBEParameterSpec pbeParamSpec = new PBEParameterSpec(SALT,                    iterationCount);            Cipher pbeCipher = Cipher.getInstance(SECRET_KEY_ALGORITHM);                        pbeCipher.init(operationMode, pbeKey, pbeParamSpec);                        return pbeCipher;        }        catch (GeneralSecurityException e)        {            throw new S10RException(e);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -