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

java&javascript自定義加密數(shù)據(jù)傳輸代碼示例

 更新時間:2017年11月22日 11:00:32   作者:mendel_liang  
這篇文章主要介紹了java&javascript自定義加密數(shù)據(jù)傳輸代碼示例,具有一定參考價值,需要的朋友可以了解下。

在開發(fā)應(yīng)用過程中,客戶端與服務(wù)端經(jīng)常需要進(jìn)行數(shù)據(jù)傳輸,涉及到重要隱私信息時,開發(fā)者自然會想到對其進(jìn)行加密,即使傳輸過程中被“有心人”截取,也不會將信息泄露。對于加密算法,相信不少開發(fā)者也有所耳聞,比如MD5加密,Base64加密,DES加密,AES加密,RSA加密等等。??衫靡嗷颍?,且,等進(jìn)行簡單加密。

示例代碼中使用的^運(yùn)算key=0x01,可自定義自己的規(guī)則。定義自己的運(yùn)算,保證可逆數(shù)據(jù)不丟失即可。key也可定義,動態(tài)key。

java代碼

public static String myEncode(String str) throws UnsupportedEncodingException { 
  byte[] strBytes = str.getBytes("utf-8"); 
  byte[] newStrByte = new byte[strBytes.length]; 
  for (int i = 0; i < strBytes.length; i++) { 
   newStrByte[i] = (byte) (strBytes[i] ^ 0x01); 
  } 
  return new String(newStrByte); 
 } 
 
 
String encodeStr = myEncode("IdmmnA\"547''+) ')%\"A ^*((!Vnsme"); 
  System.out.println(encodeStr); 

javascript代碼

獲取utf-8的byte

function toUTF8Array(str) { 
 var utf8 = []; 
 for (var i=0; i < str.length; i++) { 
  var charcode = str.charCodeAt(i); 
  if (charcode < 0x80) utf8.push(charcode); 
  else if (charcode < 0x800) { 
   utf8.push(0xc0 | (charcode >> 6), 
      0x80 | (charcode & 0x3f)); 
  } 
  else if (charcode < 0xd800 || charcode >= 0xe000) { 
   utf8.push(0xe0 | (charcode >> 12), 
      0x80 | ((charcode>>6) & 0x3f), 
      0x80 | (charcode & 0x3f)); 
  } 
  // surrogate pair 
  else { 
   i++; 
   // UTF-16 encodes 0x10000-0x10FFFF by 
   // subtracting 0x10000 and splitting the 
   // 20 bits of 0x0-0xFFFFF into two halves 
   charcode = 0x10000 + (((charcode & 0x3ff)<<10) 
      | (str.charCodeAt(i) & 0x3ff)); 
   utf8.push(0xf0 | (charcode >>18), 
      0x80 | ((charcode>>12) & 0x3f), 
      0x80 | ((charcode>>6) & 0x3f), 
      0x80 | (charcode & 0x3f)); 
  } 
 } 
 return utf8; 
} 

獲取byte并進(jìn)行^計(jì)算

bytes=stringToAsciiByteArray(str); 
 for (var i = 0; i < bytes.length; i++) { 
 
 var newByte = (bytes[i]^0x01); 
 // newByte = (newByte^0x01); 
 console.log(String.fromCharCode(newByte)); 
 encodeStr += String.fromCharCode(newByte); 
 }; 
 console.log(encodeStr); 

總結(jié)

以上就是本文關(guān)于java&javascript自定義加密數(shù)據(jù)傳輸代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Java探索之Thread+IO文件的加密解密代碼實(shí)例

多模字符串匹配算法原理及Java實(shí)現(xiàn)代碼

java算法實(shí)現(xiàn)紅黑樹完整代碼示例

如有不足之處,歡迎留言指出。

相關(guān)文章

  • spring mvc中的@PathVariable動態(tài)參數(shù)詳解

    spring mvc中的@PathVariable動態(tài)參數(shù)詳解

    這篇文章主要介紹了spring mvc中的@PathVariable動態(tài)參數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • mybatis@insert?注解如何判斷insert或是update

    mybatis@insert?注解如何判斷insert或是update

    這篇文章主要介紹了mybatis@insert?注解如何判斷insert或是update,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • IDEA中的打包Build Artifacts圖文詳解

    IDEA中的打包Build Artifacts圖文詳解

    當(dāng)項(xiàng)目開發(fā)完畢,需要對外發(fā)布時,我們就會用到IDEABuild Artifacts功能,那么如果在idea中打包呢,這篇文章主要介紹了IDEA中的打包Build Artifacts詳解,需要的朋友可以參考下
    2024-03-03
  • 一文講解如何優(yōu)雅的調(diào)試jar包

    一文講解如何優(yōu)雅的調(diào)試jar包

    在現(xiàn)實(shí)開發(fā)過程中,現(xiàn)場環(huán)境永遠(yuǎn)比開發(fā)環(huán)境復(fù)雜,下面這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的調(diào)試jar包的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Java設(shè)計(jì)模式之GOF23全面講解

    Java設(shè)計(jì)模式之GOF23全面講解

    這篇文章主要介紹了Java設(shè)計(jì)模式之GOF23全面講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • JDBC如何獲取數(shù)據(jù)庫連接

    JDBC如何獲取數(shù)據(jù)庫連接

    這篇文章主要為大家詳細(xì)為大家詳細(xì)介紹了JDBC如何獲取數(shù)據(jù)庫連接,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • MyBatis Mapper代理使用方法詳解

    MyBatis Mapper代理使用方法詳解

    本文是小編日常收集整理的關(guān)于mybatis mapper代理使用方法知識,通過本文還給大家提供有關(guān)開發(fā)規(guī)范方面的知識點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-08-08
  • 多線程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)

    多線程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)

    下面小編就為大家?guī)硪黄嗑€程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • springboot整合mybatis實(shí)現(xiàn)多表查詢的實(shí)戰(zhàn)記錄

    springboot整合mybatis實(shí)現(xiàn)多表查詢的實(shí)戰(zhàn)記錄

    SpringBoot對數(shù)據(jù)庫操作有多種方式,下面這篇文章主要給大家介紹了關(guān)于springboot整合mybatis實(shí)現(xiàn)多表查詢的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • Java并發(fā)CopyOnWrite容器原理解析

    Java并發(fā)CopyOnWrite容器原理解析

    這篇文章主要介紹了Java并發(fā)CopyOnWrite容器原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01

最新評論

河南省| 彰化县| 阳信县| 沙雅县| 楚雄市| 汉川市| 屏南县| 原平市| 乳源| 乳山市| 嵊泗县| 德庆县| 城固县| 枣庄市| 临汾市| 咸宁市| 南阳市| 华阴市| 奉化市| 合江县| 古丈县| 图木舒克市| 临湘市| 新兴县| 兰州市| 汾阳市| 迁安市| 洪洞县| 肃南| 长顺县| 申扎县| 竹北市| 乃东县| 梁山县| 连城县| 博爱县| 哈尔滨市| 阿坝县| 区。| 绥阳县| 靖西县|