获取随机字母

背景:在JAVA C 通信时,需要对传送的数据进行加密,在采用 RC4 加密时, key 要随机生成,每次都使用不同的 sessionkey

实现方式:

/**

 * 获取随机字母

 */

private   char  getRandomCharacter() {  

         //  TODO  Auto-generated method stub  

         switch  (( int )(Math. random ()*2)) {  

         case  0:  

             return  ( char )(Math. random ()*26+ 'A' );  

  

         case  1:  

             return  ( char )(Math. random ()*26+ 'a' );  

        }  

         return  0;  

    }  

/**

 * 获取16位的随机sessionKey 即rc4的key

 * 

 *  @return  sessionKey

 */

private   byte [] getSessionKey(){

byte [] sessionKey =  new   byte [16];

StringBuffer sBuffer= new  StringBuffer( "" );  

         for  ( int  i = 0; i < 16; i++) {  

         char  randomCharacter = getRandomCharacter(); 

            sBuffer.append(randomCharacter);  

        }

        System. arraycopy (sBuffer.toString().getBytes(), 0, sessionKey, 0, sBuffer.toString().getBytes(). length );

         return  sessionKey;

}

 

注意: System. arraycopy (源,源位置,目标,目标位置,源长度 )

你可能感兴趣的:(随机字母)