Re: [J2SE] JAVA有沒有辦法做 circular shift left

看板java作者 (我不要變小胖Orz)時間17年前 (2008/08/13 22:39), 編輯推噓6(602)
留言8則, 5人參與, 最新討論串6/6 (看更多)
如果只是單純的加密應該不用那麼複雜吧 最懶惰的就是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
只是轉成bit啦要怎麼移位看自己
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
另外 誰可以指點一下 BOOL跟CHAT型別 指的是哪兩個型別嗎
08/14 00:17, 4F

08/14 00:25, , 5F
darkflier大也說了他不確定語法對不對 有誰可以指點的嗎?
08/14 00:25, 5F

08/14 07:35, , 6F
bool就booolean , chat應該是char打錯
08/14 07:35, 6F

08/14 13:36, , 7F
XOR有經驗的 一看就看出來了XD
08/14 13:36, 7F

08/15 01:20, , 8F
被抓包沒經驗 囧 =.,= 請多多包涵啦~~~
08/15 01:20, 8F
文章代碼(AID): #18el87JZ (java)
討論串 (同標題文章)
文章代碼(AID): #18el87JZ (java)