JBTALKS.CC

标题: C programming 救助!! 关于encode string.. [打印本页]

作者: love2win    时间: 2015-10-14 03:05 PM
标题: C programming 救助!! 关于encode string..
抓破了头还是解决不了  麻烦高手帮忙了

我有一个60个号码和字母的string input:
1312e7972714d01a46664a3523366a2f58560b42c485853674561c360d77


然后我有一个table:
Index        0        1        2        3        4        5        6        7        8        9        a        b        c        d        e        f
S-box 0        2        4        c        5        9        a        3        7        e        1        0        f        8        6        b        d

我需要写c code 把这60个字母变成另外一个 string output , 用上面的table转换,

例子:
Capture.PNG


我的c code 如下, 是固定row = [0]先 ,但是我卡在我的output完全就没根据index column转换....
请高手帮我开窍吧




#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

main()

{
        char input[60] = { "1312e7972714d01a46664a3523366a2f58560b42c485853674561c360d77" };
       
        char sbox[8][16] = {
                                                { '2', '4', 'c', '5', '9', 'a', '3', '7', 'e', '1', '0', 'f', '8', '6', 'b', 'd' },
                                                { '7', 'e', 'a', '4', '1', 'd', '9', 'f', '2', 'b', '6', '0', 'c', '5', '8', '3' },
                                                { '3', '8', 'f', '1', 'a', '6', '5', 'b', 'd', 'e', '4', '2', '7', '0', '9', 'c' },
                                                { '8', 'f', '7', '9', '3', 'd', '4', 'b', 'c', '2', '0', 'a', '1', '5', '6', 'e' },
                                                { '1', 'f', '8', '3', 'c', '0', 'b', '6', '2', '5', '4', 'e', '9', 'a', '7', 'd' },
                                                { '1', 'd', 'f', '0', 'e', '8', '2', 'c', '7', '4', 'b', 'a', '3', '5', '9', '6' },
                                                { 'a', '3', '4', '7', 'b', '8', 'd', '2', '6', 'c', 'f', 'e', '0', '5', '1', '9' },
                                                { '3', 'c', '4', '2', '7', 'a', '0', '8', '5', 'b', 'f', '1', 'd', '6', '9', 'e' }
                                                };

        int box_id,i;

        for (i = 0; i < 60; i++)
                {
       
                     printf("%c", sbox[0][input]);

                }
        system("pause");
}




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5