打开主菜单

Ballance Wiki β

更改

Database.tdb/zh

大小无更改2020年8月28日 (五) 09:32
交换比特
首先,解密是以字节为单位进行的。每个字节有8个比特,解密的第一步是还原比特顺序,将这8个比特的高位3比特和低位5比特交换位置,完成解密的第一步。如下图:
<code>BIT_7 BIT_6 BIT_5 BIT_4 BIT_3 BIT_2 BIT_1 BIT_2 BIT_3 BIT_4 BIT_5 BIT_6 BIT_7 BIT_8BIT_0</code>经过变换后得到<code>BIT_4 BIT_3 BIT_2 BIT_1 BIT_0 BIT_7 BIT_6 BIT_5 BIT_6 BIT_7 BIT_8 BIT_1 BIT_2 BIT_3</code>。
可通过代码(<nowiki>C#</nowiki>)实现:<code>j = (byte)(j << 3 | j >> 5);</code>。
3
个编辑