UChat
UChat copied to clipboard
ValueError: 211 is not a valid MessageType
注册时报错返回不了登录页面,报错信息如上!
个人水平有限解决不了这个bug!
希望请教作者如何运行起来!
读一下源码吧,项目是三年前做的了
我看以前也有人提过一样的issues,所以应该是您的代码存在bug! 我看了您代码几天了,修改过几次但没有解决问题。 反复出现两个报错: 一个是说返回的类型不在枚举内 另一个就是说访问list超出范围 但两个错误都出在同一个代码块内。 希望作者有空可以运行一下您的作品,完善一下您的成果!
读过源码了,原因是run_client和run_server不能放一个目录下运行,因为他们生成的private.pem重名了,所以他们计算产生的共享没有是错的。
举例来说,假设base=3,不考虑 modulus:
- 首先运行server,生成private.pem=3,计算public.pem=baseprivate=33=27,然后将public.pem另存为admin_cert.pem;
- 然后运行client,生成private.pem=2,计算public.pem=baseprivate=32=9,然后将public.pem另存为ip_cert.pem;
- 但是这里需要注意的是,存储二者的私钥的文件都叫private.pem且没有另外保存,所以client的私钥把server的覆盖了!!!
- 所以在生成会话密钥的时候,服务端会使用客户端的私钥来产生会话密钥!!!
- 即share_key(server) = ip_cert.pem ** private.pem(client) = 9 ** 2 = 81;
- 而share_key(client) = admin_cert.pem ** private.pem(client) = 27 ** 2 = 729;
- 可以发现,二者的密钥不一致,所以导致解密错误,所以消息类型会出错!!!
注册登录功能是可以的,数据也可以入库,但是添加监听事件好像无效,登录完成或注册完成之后无法弹窗和打开聊天联系人页面,我想问下 博主或者其他人有没有遇到过这个问题?