最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)的RC4加密解密算法示例

 更新時(shí)間:2017年06月15日 11:04:47   作者:L_serein  
這篇文章主要介紹了java實(shí)現(xiàn)的RC4加密解密算法,結(jié)合具體實(shí)例形式分析了java RC4加密解密算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了java實(shí)現(xiàn)的RC4加密解密算法。分享給大家供大家參考,具體如下:

有一個(gè)項(xiàng)目,需要解析一個(gè)用戶提供的rc4加密后的文件,特意搜索整理了一個(gè)Java 版本的RC4加解密算法。

public static String HloveyRC4(String aInput,String aKey)
{
    int[] iS = new int[256];
    byte[] iK = new byte[256];
    for (int i=0;i<256;i++)
      iS[i]=i;
    int j = 1;
    for (short i= 0;i<256;i++)
    {
      iK[i]=(byte)aKey.charAt((i % aKey.length()));
    }
    j=0;
    for (int i=0;i<255;i++)
    {
      j=(j+iS[i]+iK[i]) % 256;
      int temp = iS[i];
      iS[i]=iS[j];
      iS[j]=temp;
    }
    int i=0;
    j=0;
    char[] iInputChar = aInput.toCharArray();
    char[] iOutputChar = new char[iInputChar.length];
    for(short x = 0;x<iInputChar.length;x++)
    {
      i = (i+1) % 256;
      j = (j+iS[i]) % 256;
      int temp = iS[i];
      iS[i]=iS[j];
      iS[j]=temp;
      int t = (iS[i]+(iS[j] % 256)) % 256;
      int iY = iS[t];
      char iCY = (char)iY;
      iOutputChar[x] =(char)( iInputChar[x] ^ iCY) ;
    }
    return new String(iOutputChar);
}

加密和解密都用這一個(gè)方法。也就是說(shuō)參數(shù)String aInput 可以傳一個(gè)明文,也可以傳一個(gè)加密后的字符串,程序會(huì)自動(dòng)的識(shí)別。然后執(zhí)行加解密的響應(yīng)操作。

使用例子如下:

public static void main(String[] args) {
  String inputStr = "做個(gè)好男人";
  String key = "abcdefg";
  String str = HloveyRC4(inputStr,key);
  //打印加密后的字符串
  System.out.println(str);
  //打印解密后的字符串
  System.out.println(HloveyRC4(str,key));
}

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

迅雷、快車、旋風(fēng)URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java字符與字符串操作技巧總結(jié)》、《java日期與時(shí)間操作技巧匯總》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • springBoot配置國(guó)產(chǎn)達(dá)夢(mèng)數(shù)據(jù)庫(kù)的示例詳解

    springBoot配置國(guó)產(chǎn)達(dá)夢(mèng)數(shù)據(jù)庫(kù)的示例詳解

    本文向大家介紹springBoot?配置國(guó)產(chǎn)達(dá)夢(mèng)數(shù)據(jù)庫(kù)的相關(guān)知識(shí),文章結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • java 遍歷Map的幾種方法總結(jié)

    java 遍歷Map的幾種方法總結(jié)

    這篇文章主要介紹了java 遍歷Map的四種方法,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-10-10
  • 兩張動(dòng)圖--帶你搞懂TCP的三次握手與四次揮手

    兩張動(dòng)圖--帶你搞懂TCP的三次握手與四次揮手

    TCP是一種傳輸控制協(xié)議,是面向連接的、可靠的、基于字節(jié)流之間的傳輸層通信協(xié)議,由IETF的RFC 793定義。在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,TCP完成第四層傳輸層所指定的功能
    2021-06-06
  • Java 數(shù)據(jù)結(jié)構(gòu)線性表之順序存儲(chǔ)詳解原理

    Java 數(shù)據(jù)結(jié)構(gòu)線性表之順序存儲(chǔ)詳解原理

    線性表的順序存儲(chǔ)是指用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表中的各個(gè)元素、使得線性表中在邏輯結(jié)構(gòu)上相鄰的數(shù)據(jù)元素存儲(chǔ)在相鄰的物理存儲(chǔ)單元中,即通過(guò)數(shù)據(jù)元素物理存儲(chǔ)的相鄰關(guān)系來(lái)反映數(shù)據(jù)元素之間邏輯上的相鄰關(guān)系
    2021-10-10
  • JAVA  靜態(tài)的單例的實(shí)例詳解

    JAVA 靜態(tài)的單例的實(shí)例詳解

    這篇文章主要介紹了JAVA 靜態(tài)的單例的實(shí)例詳解的相關(guān)資料,這里提供了實(shí)例方法,來(lái)說(shuō)名不僅實(shí)現(xiàn)了延遲加載,又可以保證線程安全,不影響系統(tǒng)性能,需要的朋友可以參考下
    2017-07-07
  • SpringBoot一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式總結(jié)

    SpringBoot一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式總結(jié)

    這篇文章主要介紹了SpringBoot一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • 在Java8中使用StreamAPI的實(shí)際應(yīng)用

    在Java8中使用StreamAPI的實(shí)際應(yīng)用

    本文深入探討StreamAPI的核心概念、使用場(chǎng)景以及實(shí)際應(yīng)用,幫助你在日常開發(fā)中更好地利用這一強(qiáng)大特性,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • IDEA中WebService生成Java代碼并調(diào)用外部接口實(shí)現(xiàn)代碼

    IDEA中WebService生成Java代碼并調(diào)用外部接口實(shí)現(xiàn)代碼

    這篇文章主要介紹了IDEA中WebService生成Java代碼并調(diào)用外部接口實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • SpringBoot基于Redis實(shí)現(xiàn)生成全局唯一ID的方法

    SpringBoot基于Redis實(shí)現(xiàn)生成全局唯一ID的方法

    在項(xiàng)目中生成全局唯一ID有很多好處,生成全局唯一ID有助于提高系統(tǒng)的可用性、數(shù)據(jù)的完整性和安全性,同時(shí)也方便數(shù)據(jù)的管理和分析,所以本文給大家介紹了SpringBoot基于Redis實(shí)現(xiàn)生成全局唯一ID的方法,文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2023-12-12
  • resty client使用Java客戶端來(lái)訪問(wèn)Api

    resty client使用Java客戶端來(lái)訪問(wèn)Api

    這篇文章主要介紹了resty-client使用Java客戶端來(lái)訪問(wèn)Api的驗(yàn)證權(quán)限,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03

最新評(píng)論

同心县| 平和县| 寿光市| 黄浦区| 油尖旺区| 腾冲县| 章丘市| 大洼县| 宿州市| 突泉县| 新兴县| 顺平县| 阳新县| 高陵县| 安达市| 东乡族自治县| 呈贡县| 乐清市| 清水县| 伊春市| 共和县| 永康市| 耿马| 沛县| 辛集市| 乌拉特后旗| 金乡县| 长泰县| 盐池县| 台南市| 绍兴县| 洱源县| 金乡县| 梁河县| 汾阳市| 长乐市| 宜州市| 云南省| 正定县| 石城县| 都江堰市|