ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
5000
SOP14/2014+
原装正品,配单能手
ABCDEFGHIJKLMN
65286
-/21+
全新原装现货,长期供应,免费送样
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
5000
SOP14/2014+
原装,配单能手
ABCDEFGHIJKLMN
80000
-/2024+
原装现货
ABCDEFGHIJKLMN
80000
-/23+
原装现货
ABCDEFGHIJKLMN
3588
-/-
原装 部分现货量大期货
ABCDEFGHIJKLMN
28700
SOP14/22+
全新原装 价格优势 长期供应
输出。用blowfish算法加密信息需要2个过程,即密钥预处理和信息加密。 以密钥预处理为例,这时,blowfish算法的源密钥——pbox和sbox是固定的。要加密一个信息,需要自己选择一个。key,用这个key对pbox和sbox进行变换,得到下一步信息加密所需的key_pbox和keg_sbox。具体的变换算法如下: ①用sbox填充key_sbox。 ②用自己选择的key以8个一组去异或pbox,用异或的结果填充key_pbox。key可以循环使用。例如,选的key是”abcdefghijklmn”,则异或过程为 keg_pbox[o]=pbox[o]abcdefgh keyr_pbox[1]=pbox[1]ijklmnab ………… 如此循环,直到key_box填充完毕。 ③用bf_en加密一个全“o”的64位信息,用输出的结果替换key__pbox[o]和key_pbox[1]。此时,i=o。 ④用bf_en加密替换后的key_pbox[i]和key_phox[i+1],用输出替代key_pbox[i+2]和key_phox[i+3]。
求助:avr-gcc里stdio.h,库函数 printf_p,sprintf_p怎么使用? #include <stdint.h> #include <stdio.h>#include <avr/pgmspace.h> uint8_t tab[32]; const uint8_t tab0[30] ={"abcdefghijklmn"}; //14个字母 const uint8_t tab1[30] progmem ={"abcdefghijklmn"}; //14个字母 int main() { const uint8_t * tab2=pstr("abcdefghijklmn"); uint16_t n0,n1,n2; n0=sprintf (tab,"%s",tab0); //执行完后,n0=14 n1=sprintf_p(ta
指针访问结构成员的正确方法应该是象例十二中使用指针ptr的方法。 指针和函数的关系 可以把一个指针声明成为一个指向函数的指针。intfun1(char*,int); int(*pfun1)(char*,int); pfun1=fun1; .... .... inta=(*pfun1)("abcdefg",7);//通过函数指针调用函数。 可以把指针作为函数的形参。在函数调用语句中,可以用指针表达式来作为实参。 例十三: intfun(char*); inta; charstr[]="abcdefghijklmn"; a=fun(str); ... ... intfun(char*s) { intnum=0; for(inti=0;i{ num+=*s;s++; } returnnum;} 这个例子中的函数fun统计一个字符串中各个字符的ascii码值之和。前面说了,数组的名字也是一个指针。在函数调用中,当把str作为实参传递给形参s后,实际是把str的值传递给了s,s所指向的地址就和str所指向的地址一致,但是str和s各自占用各自的存储空间。在函数体内对s进行自加1运算,并不意味着同时对str进行
, 'd', 'e', 'f', 'g'};char a2[] = {'h', 'i', 'j', 'k', 'l', 'm', 'n'};如果:sprintf(s, "%s%s", a1, a2); //don't do that!十有八九要出问题了。是否可以改成:sprintf(s, "%7s%7s", a1, a2);也没好到哪儿去,正确的应该是:sprintf(s, "%.7s%.7s", a1, a2);//产生:"abcdefghijklmn"这可以类比打印浮点数的”%m.nf”,在”%m.ns”中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数。通常在打印字符串时m 没什么大用,还是点号后面的n 用的多。自然,也可以前后都只取部分字符:sprintf(s, "%.6s%.5s", a1, a2);//产生:"abcdefhijkl"在许多时候,我们或许还希望这些格式控制符中用以指定长度信息的数字是动态的,而不是静态指