Beispiel #1
0
 public void IsSHA256Test()
 {
     Assert.IsTrue(RegexHelper.IsSHA256Hash(CryptographyHelper.ComputeSHA256Hash(Guid.Empty.ToString())));
     Assert.IsTrue(RegexHelper.IsSHA256Hash(CryptographyHelper.ComputeSHA256Hash(Guid.NewGuid().ToString())));
     Assert.IsFalse(RegexHelper.IsSHA256Hash(CryptographyHelper.ComputeSHA256Hash(Guid.NewGuid().ToString()).Substring(0, 31)));
     Assert.IsFalse(RegexHelper.IsSHA256Hash(CryptographyHelper.ComputeSHA256Hash(Guid.NewGuid().ToString()).Substring(0, 63) + "@"));
 }
Beispiel #2
0
        public void ComputeSHA256HashTest()
        {
            string input    = "abcdefgh";
            string expected = "9c56cc51b374c3ba189210d5b6d4bf57790d351c96c47c02190ecf1e430635ab";
            string actual   = CryptographyHelper.ComputeSHA256Hash(input);

            Assert.AreEqual(expected, actual);

            input    = "Alain Méreaux";
            expected = "82ddc89818885f22e166aec95a882ee64e4dc717ebf4a3b3e0c32e684c0704b3";
            actual   = CryptographyHelper.ComputeSHA256Hash(input);
            Assert.AreEqual(expected, actual);

            input    = "Un algorithme est un processus systématique de résolution, par le calcul, d'un problème permettant de présenter les étapes vers le résultat à une autre personne physique (un autre humain) ou virtuelle (un calculateur). En d'autres termes, un algorithme est un énoncé d’une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème. Il décrit formellement une procédure concrète. Si ces opérations s’exécutent en séquence, on parle d’algorithme séquentiel. Si les opérations s’exécutent sur plusieurs processeurs en parallèle, on parle d’algorithme parallèle. Si les tâches s’exécutent sur un réseau de processeurs on parle d’algorithme réparti ou distribué.";
            expected = "27718ccffef4e1cce1cff2a7ac4bde42ef51f6dc9efdd2e1728c9fdddb3450d7";
            actual   = CryptographyHelper.ComputeSHA256Hash(input);
            Assert.AreEqual(expected, actual);
        }