数据库加密详解编程语言

  1. 用  <bean class=“com.cyou.web.common.EncryptPropertyPlaceholderConfigurer” p:location=“classpath:/config.properties”></bean>  
  2. 代替  <context:property-placeholder location=“classpath:/config.properties” />  public class DESUtils  
    1. {  
    2.     private static Key key;  
    3.     private static String KEY_STR=“mykey”;  
    4.       
    5.     static{  
    6.         try  
    7.         {  
    8.             KeyGenerator generator = KeyGenerator.getInstance(“DES”);  
    9.             SecureRandom secureRandom=SecureRandom.getInstance(“SHA1PRNG”);  
    10.             secureRandom.setSeed(KEY_STR.getBytes());  
    11.             generator.init(secureRandom);  
    12.             key = generator.generateKey();  
    13.             generator=null;  
    14.         }  
    15.         catch (Exception e)  
    16.         {  
    17.             throw new RuntimeException(e);  
    18.         }  
    19.     }  
    20.       
    21.     /** 
    22.      * 对字符串进行加密,返回BASE64的加密字符串 
    23.      * <功能详细描述> 
    24.      * @param str 
    25.      * @return 
    26.      * @see [类、类#方法、类#成员] 
    27.      */  
    28.     public static String getEncryptString(String str){  
    29.         BASE64Encoder base64Encoder = new BASE64Encoder();  
    30.         System.out.println(key);  
    31.         try  
    32.         {  
    33.             byte[] strBytes = str.getBytes(“UTF-8”);  
    34.             Cipher cipher = Cipher.getInstance(“DES”);  
    35.             cipher.init(Cipher.ENCRYPT_MODE, key);  
    36.             byte[] encryptStrBytes = cipher.doFinal(strBytes);  
    37.             return base64Encoder.encode(encryptStrBytes);  
    38.         }  
    39.         catch (Exception e)  
    40.         {  
    41.             throw new RuntimeException(e);  
    42.         }  
    43.           
    44.     }  
    45.       
    46.     /** 
    47.      * 对BASE64加密字符串进行解密 
    48.      * <功能详细描述> 
    49.      * @param str 
    50.      * @return 
    51.      * @see [类、类#方法、类#成员] 
    52.      */  
    53.     public static String getDecryptString(String str){  
    54.         BASE64Decoder base64Decoder = new BASE64Decoder();  
    55.         try  
    56.         {  
    57.             byte[] strBytes = base64Decoder.decodeBuffer(str);  
    58.             Cipher cipher = Cipher.getInstance(“DES”);  
    59.             cipher.init(Cipher.DECRYPT_MODE, key);  
    60.             byte[] encryptStrBytes = cipher.doFinal(strBytes);  
    61.             return new String(encryptStrBytes,“UTF-8”);  
    62.         }  
    63.         catch (Exception e)  
    64.         {  
    65.             throw new RuntimeException(e);  
    66.         }  
    67.           
    68.     }  
    69.       
    70.       
    71.     public static void main(String[] args)  
    72.     {  
    73.         String name =“root”;  
    74.         String password=“1234”;  
    75.         String encryname = getEncryptString(name);  
    76.         String encrypassword = getEncryptString(password);  
    77.         System.out.println(encryname);  
    78.         System.out.println(encrypassword);  
    79.           
    80.         System.out.println(getDecryptString(encryname));  
    81.         System.out.println(getDecryptString(encrypassword));  
    82.     }  
    83. }  

 

数据库加密详解编程语言

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14612.html

(0)
上一篇 2021年7月19日 17:01
下一篇 2021年7月19日 17:01

相关推荐

发表回复

登录后才能评论