Re: [J2SE] JAVA有沒有辦法做 circular shift left
如果只是單純的加密應該不用那麼複雜吧
最懶惰的就是XOR
以下很久沒用過java了所以與法可能有錯請見諒
你提及的bit 移位
個人提供一個想法給你參考
滿鳥的就是XDD
bool bTest[8];
chat cTest='7';
for(int i=0;i<8;++i)
bTest=cTest&(1<<i);
這樣就能夠取出所有的bit了
然後看你要怎麼去移位就看自己摟
加密方法有很多我覺得這樣加密解密好像不是很有效啦XD
懶人用的XOR方法
大概就是 X XOR Y
然後解密在用同樣的方法一次即可
例如 100100 XOR 010101 = 110001
110001 XOR 010101 = 100100
不過真的要加密方法有很多啦只是我不喜歡加密就是
在提供一個很無聊的加密方法
TYPE X = Y;
TYPE Z[2];
Z[0] = X.GetLeftSideValue(); //參考上面取出Bit方式
Z[1] = X.GetRightSideValue(); //參考上面取出Bit方式
然後寫入Z代替寫入X
我個人比較討厭用什麼神奇的數學方式加密解密啦
比較喜歡用無厘頭方式加解密XD
※ 引述《pinball (飛肥匪狒)》之銘言:
: ※ 引述《adrianshum (Alien)》之銘言:
: : 無需做什麼字元轉換 ascii 碼
: : 一個 char 本身就是一個 16 bit integer
: : 直接做各類整數操作就行了
: : alien
: 抱歉 可能我的觀念不太對 所以有些不太理解您的回答 請原諒我還是個嫩手 >"<
: 我還是詳細的說明我要做的事情好了
: 假設今天我要在字串中做一些動作 來加密這個字串
: 我需要將每個字元都做數次的circular shift
: 假設某字元為A 我需要先獲得他的8個bit的birnary code 也就是 01000001 (也就是65)
: 如果該字元需要被做兩次circular shift 則目標值為 00000101 (也就是5)
: 但是因為現在找不到直接做circular shift的function
: 所以勢必要將該字元轉為 一個BYTE的型態 然後再將其binary code修改成我要的東西
: 現在我的問題在於 該如何把字元轉成binary code 並且在做完shift的動作之後
: 要怎麼再把binary code 轉回其對應的字元(例如說 00000101對應到某個字元或符號)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.91.83.175
推
08/13 23:01, , 1F
08/13 23:01, 1F
→
08/13 23:45, , 2F
08/13 23:45, 2F
※ 編輯: darkflier 來自: 219.91.83.175 (08/13 23:53)
推
08/14 00:16, , 3F
08/14 00:16, 3F
→
08/14 00:17, , 4F
08/14 00:17, 4F
推
08/14 00:25, , 5F
08/14 00:25, 5F
推
08/14 07:35, , 6F
08/14 07:35, 6F
推
08/14 13:36, , 7F
08/14 13:36, 7F
推
08/15 01:20, , 8F
08/15 01:20, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):