楼主:
benjenq (Ben(憋))
2017-03-17 16:52:23大家好,小弟
学习 Arduino Code 新手约一个多月,
有个关于通讯加密的问题请教:
小弟自制手机/平板程式与 Arduino 装置沟通,
现在要练习将沟通的讯息编码加密
手机透过AES加密似乎没什么问题,
https://github.com/WelkinXie/AESCipher-iOS
也找到不少 Arduino 用的 DES ,
在 Ardiuno 上面跑也都能跑得起来,
但问题来了...
手机将讯息加密的结果,与 Arduino 加密的结果不一样,
这个 Arduino library 是我最接近成功的时候
https://github.com/spaniakos/AES/
手机使用的 Key 跟 IV 默认 NSString (字串),
在程式中会转成 byte,
Arduino 的 Key 是 byte,
IV 是 unsigned long long int,
我怀疑是两边 IV 不一致,
于是设法把两边的 IV 设为长度16的0,
解出来的结果,总是有几个位元的位置不一样...
这篇文章说出了我的心声,
https://goo.gl/PkWdEr
不知是否有前辈在这个议题上(跨平台 PC/平板<
作者:
chuegou (chuegou)
2017-03-17 23:28:00没经验...大印地安小印地安?
作者: cs8425 (cs) 2017-03-18 11:02:00
先猜padding方式不同?
楼主:
benjenq (Ben(憋))
2017-03-18 17:56:00library没有提供padding的选项…头痛我怀疑是Arduino Uno处理器能力不足,多位元计算可能有问题
作者: cs8425 (cs) 2017-03-18 21:01:00
library有原始码啊 没提供自己加不就好了orz
楼主:
benjenq (Ben(憋))
2017-03-19 13:54:00我的意思是,程式码都看不出在哪需要padding,
作者:
KanoLoa (卡)
2017-03-20 17:39:00UNO不够强 有没有试过MEGA呢~
作者: cs8425 (cs) 2017-03-22 02:09:00
没有? AES.h 201~211行是啥? 还是连翻译都不会用啊?
作者: gpgpi 2017-05-07 12:10:00
Des算法,会有padding选项,用以补足原始资料长度不足8的倍数,这部分加解密端必须一致哦!