Пример #1
0
 public override string Transform(string key)
 {
     using (var hasher = new TigerHash())
     {
         return(Convert.ToBase64String(hasher.ComputeHash(Encoding.Unicode.GetBytes(key))));
     }
 }
		public override string Transform(string key)
		{
			TigerHash th = new TigerHash();
			byte[] data = th.ComputeHash(Encoding.Unicode.GetBytes(key));

			return Convert.ToBase64String(data, Base64FormattingOptions.None);
		}
Пример #3
0
        string IMemcachedKeyTransformer.Transform(string key)
        {
            TigerHash th = new TigerHash();

            byte[] data = th.ComputeHash(Encoding.Unicode.GetBytes(key));

            return(Convert.ToBase64String(data, Base64FormattingOptions.None));
        }
        public override string Transform(string key)
        {
            TigerHash th = new TigerHash();

            byte[] data = th.ComputeHash(Encoding.Unicode.GetBytes(key));

            return(Convert.ToBase64String(data));
        }
Пример #5
0
        public async Task <bool> UploadFileAsync(Stream fs, string fileName, string algorithm, string key)
        {
            string fileId = null;

            using (var form = new MultipartFormDataContent())
                using (var streamContent = new StreamContent(fs))
                {
                    form.Add(new StringContent(fileName, Encoding.UTF8, "text/plain"), "\"FileName\"");

                    var byteArray = await streamContent.ReadAsByteArrayAsync();

                    TigerHash tigerHasher        = new TigerHash();
                    byte[]    hashed             = tigerHasher.Hash(byteArray, byteArray.Length);
                    string    hashedBase64String = Convert.ToBase64String(hashed);
                    form.Add(new StringContent(hashedBase64String, Encoding.UTF8, "text/plain"), "\"HashValue\"");

                    Console.WriteLine("Encryption left only");

                    byte[] encrypted = await EncryptFile(byteArray, algorithm, key);

                    Stream stream = new MemoryStream(encrypted);
                    var    encryptedStreamContent = new StreamContent(stream);
                    form.Add(encryptedStreamContent, "\"Content\"", fileName);

                    Console.WriteLine("Form ready to post");

                    var response = await this.httpClient.PostAsync("api/Files/", form);

                    encryptedStreamContent.Dispose();
                    if (response.IsSuccessStatusCode)
                    {
                        var responseString = await response.Content.ReadAsStringAsync();

                        var fileObject = JsonConvert.DeserializeObject <FileResult>(responseString);
                        fileId = fileObject.Id.ToString();
                        Console.WriteLine("Posted: " + fileId);
                    }
                }

            if (String.IsNullOrEmpty(fileId))
            {
                return(false);
            }

            // add to localstorage
            ConfigFileEntry fileEntry = new ConfigFileEntry
            {
                Id        = fileId,
                FileName  = fileName,
                Algorithm = algorithm,
                Key       = key
            };

            await AddToLocalStorage(fileEntry);

            return(true);
        }
Пример #6
0
        public byte[] EncryptText(EncryptTextMessage message)
        {
            byte[] encryptedText = null;
            //Odradi se enkripcija
            if (message.Algorithm == AlgorithmType.RC4)
            {
                RC4 rc = new RC4(message.Key, message.IV);
                encryptedText = rc.Crypt(message.Data);
            }
            else if (message.Algorithm == AlgorithmType.RC4CTR)
            {
                RC4 rc = new RC4(message.Key, message.IV);
                encryptedText = rc.CryptWithCTR(message.Data);
            }
            else if (message.Algorithm == AlgorithmType.A52 || message.Algorithm == AlgorithmType.A52CTR)
            {
                A52 alg = new A52();
                alg.SetKey(message.Key);
                alg.SetF(message.FKeyA52);

                if (message.Algorithm == AlgorithmType.A52)
                {
                    encryptedText = alg.Crypt(message.Data);
                }
                else
                {
                    alg.SetIV(message.IV);
                    encryptedText = alg.CryptWithCTR(message.Data);
                }
            }
            else if (message.Algorithm == AlgorithmType.RSA)
            {
                RSA rsa = new RSA();
                rsa.E = new BigInteger(message.Key);
                rsa.P = new BigInteger(message.P);
                rsa.Q = new BigInteger(message.Q);
                rsa.GenerateRSA();
                //BigInteger result = rsa.Crypt(new BigInteger(message.Data));
                //encryptedText = result.ToByteArray();
                encryptedText = rsa.Crypt(message.Data);
            }
            else if (message.Algorithm == AlgorithmType.TigerHash)
            {
                TigerHash th  = new TigerHash();
                byte[]    msg = message.Data;
                encryptedText = th.ComputeHash(message.Data);
            }
            return(encryptedText);
        }
Пример #7
0
        /////end A5/2---------------------------------------------------------

        public byte[] TigerHash(byte[] input)
        {
            TigerHash tg = new TigerHash();

            return(tg.Hash(input));
        }