1

我遇到了一個問題,我們正在使用ServiceStack的Redis實現通過服務器發送的事件進行多服務器緩存和消息傳遞。作爲我們安全協議的一部分,我們需要加密進入Redis的數據。我想知道過去有沒有人做過這件事,他們的經歷是什麼?有沒有簡單的方法來做到這一點,或者我們必須編寫自定義的Redis實現?如果這有助於我們在Azure上使用Redis。使用ServiceStack在Azure上加密Redis消息

回答

0

您不必編寫自定義Redis客戶端,但需要使用ServiceStack.Redis原始的IRedisNativeClient API才能存儲加密的byte[]值。從RedisNativeClientRedisClient繼承,你可以投,以便訪問低層byte[] API,如:

using (var redis = clientsManager.GetClient()) 
{ 
    var redisNative = (RedisNativeClient)redis; 
} 

ServiceStack也有一個高層次的CryptUtils可在其ServiceStack.Client庫,它提供了一個簡單的API來使用AES或RSA加密來加密值。

+0

@zaph它可以用於小型有效載荷,也可以使用Crypt Utils來實現[RSA和AES混合加密,然後MAC](http://docs.servicestack.net/encrypted-messaging#rsa-and- aes-hybrid-encryption-verified-with-hmac-sha-256)加密更大的有效載荷。我沒有指定加密策略,只是Crypt Utils包含可以提供幫助的高級utils。 – mythz