Доступ к PostGIS пространственные данные из направляющих

Прием должен использовать MemoryStream.ToArray(). Я также изменил Ваш код так, чтобы он использовал CryptoStream для Записи, и в шифровании и в дешифровании. И Вы не должны звонить CryptoStream.FlushFinalBlock() явно, потому что у Вас есть он в using() оператор, и тот сброс произойдет на Dispose(). Следующие работы для меня.

byte[] rawPlaintext = System.Text.Encoding.Unicode.GetBytes("This is all clear now!");

using (Aes aes = new AesManaged())
{
    aes.Padding = PaddingMode.PKCS7;
    aes.KeySize = 128;          // in bits
    aes.Key = new byte[128/8];  // 16 bytes for 128 bit encryption
    aes.IV = new byte[128/8];   // AES needs a 16-byte IV
    // Should set Key and IV here.  Good approach: derive them from 
    // a password via Cryptography.Rfc2898DeriveBytes 
    byte[] cipherText= null;
    byte[] plainText= null;

    using (MemoryStream ms = new MemoryStream())
    {
        using (CryptoStream cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write))
        {
            cs.Write(rawPlaintext, 0, rawPlaintext.Length);
        }

        cipherText= ms.ToArray();
    }


    using (MemoryStream ms = new MemoryStream())
    {
        using (CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Write))
        {
            cs.Write(cipherText, 0, cipherText.Length);
        }

        plainText = ms.ToArray();
    }
    string s = System.Text.Encoding.Unicode.GetString(plainText);
    Console.WriteLine(s);
}

кроме того, я предполагаю, что Вы знаете, что захотите явно установить Режим из экземпляра AesManaged и использование Система. Безопасность. Криптография. Rfc2898DeriveBytes для получения Ключа и IV от пароля и соли.

см. также:
- AesManaged

7
задан Ryan Bigg 10 October 2009 в 01:46
поделиться

1 ответ

Поскольку у вас есть GeoRuby, добавьте свою модель Poi

SRID = 4326 #WGS84

# geometry column is geom
# pt is a GeoRuby Point
def self.find_within_radius(pt, dist = 0.01)
  self.all :conditions => "ST_DWithin(geom, ST_GeomFromText('POINT(#{pt.x} #{pt.y})', #{SRID}), #{dist})"
end

Для вычисления расстояния вы можете использовать методы для точечных объектов

dist_circle = poi1.geom.spherical_distance(poi2.geom)
dist_projected = poi1.geom.euclidean_distance(poi2.geom)
6
ответ дан 7 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: