我遇到一个问题,我们使用 ServiceStack 的 Redis 实现进行多服务器缓存和通过服务器发送的事件进行消息传递。作为安全协议(protocol)的一部分,我们需要对进入 Redis 的数据进行加密。我想知道过去是否有人这样做过,他们的经验是什么?有没有一种简单的方法可以做到这一点,或者我们是否必须编写自定义的 Redis 实现?如果有帮助,我们将在 Azure 上使用 Redis。
最佳答案
您不必编写自定义 Redis 客户端,但需要使用 ServiceStack.Redis raw IRedisNativeClient API 以便能够存储加密的 byte[]
值。 RedisClient
继承自 RedisNativeClient
,您可以将其转换为访问低级 byte[]
API,例如:
using (var redis = clientsManager.GetClient())
{
var redisNative = (RedisNativeClient)redis;
}
ServiceStack还有一个高层CryptUtils在其 ServiceStack.Client 库中可用,该库提供了一个简单的 API,可以使用 AES 或 RSA 加密来加密值。
关于azure - 使用 ServiceStack 加密 Azure 上的 Redis 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934553/