默认
发表评论 12
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
我目前设计的是,客户端生成非对称加密,把公钥发给服务端,服务器使用公钥加密一个加密key,同时使用加密key加密一个配置文件,客户端收到后,使用私钥解密获得加密key,通过加密key解密获取配置文件。
这个配置文件包含服务端的聊天记录配置记录,比如
加密1:2021年8月16日15点34分00秒0毫秒后,使用ase加密,加密key是*******
加密2:2022年8月16日15点34分00秒0毫秒后,使用des加密,加密key是*******
然后,如果当前时间,在加密1范围,使用加密1,如果对端发来消息,也可以根据这个配置文件进行解密。

但是问题是:
1、这个配置文件会缓存在内存
2、这个配置文件随着服务端管理员不断地设置,可能会越来越长

总觉得有些不合理,大佬们能不能给指点下,有啥优化的方法
评论 12
而且我是做sdk的,我没有本地文件系统的操作权限,也没有操作数据库的权限,比如聊天消息,基本是
我回调给上层,上层接收到消息存入数据库。
所以配置文件也不方便存入数据库,也不方便存入本地文件系统。即使存到文件系统,这个文件还的加密。同事
为了性能,依然需要加载到内存。
还有个选择是,比如只缓存最近一个月的配置记录,但这样有一个问题,
因为同步消息基本是存7~30天,所以不会影响,
但是历史服务器的历史消息,需要存1~3年或者永久,那如果遇到这种消息怎么办?

我考虑是当遇到这种消息,需要同步来服务器查询一下,查询到这个时间的加密配置方法。
但是有引入新问题,
当消息接收到后,需要同步等待这个拉去配置文件的请求,接收到后才能解密,回调消息给上层。
如果中间出现问题,又会有异常问题
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部