public string EncryptLong(long plainLong) { if (_useGuidFormat) { return(GuidFormat(_hashId.EncodeLong(plainLong), HashIdOperation.Encrypt)); } return(_hashId.EncodeLong(plainLong)); }
public void SingleLong_Encodes() { _hashids.EncodeLong(1L).Should().Be("NV"); _hashids.EncodeLong(2147483648L).Should().Be("21OjjRK"); _hashids.EncodeLong(4294967296L).Should().Be("D54yen6"); _hashids.EncodeLong(666555444333222L).Should().Be("KVO9yy1oO5j"); _hashids.EncodeLong(12345678901112L).Should().Be("4bNP1L26r"); _hashids.EncodeLong(Int64.MaxValue).Should().Be("jvNx4BjM5KYjv"); }
private void Issue_18_it_should_return_empty_string_if_negative_numbers() { var hashids = new Hashids("this is my salt"); hashids.Encode(1, 4, 5, -3).ShouldBe(string.Empty); hashids.EncodeLong(4, 5, 2, -4).ShouldBe(string.Empty); }
public void AlphabetWithDashes_Roundtrip() { var hashids = new Hashids(alphabet: "abcdefghijklmnopqrstuvwxyz1234567890_-"); var input = new long[] { 1, 2, 3 }; var decodedValue = hashids.DecodeLong(hashids.EncodeLong(input)); decodedValue.Should().BeEquivalentTo(input); }
public static string Create(string longUrl) { // Hopefully random enough var hashids = new Hashids($"{DateTime.UtcNow}{Guid.NewGuid()}", 6); var hash = hashids.EncodeLong(longUrl.GetHashCode()); return(hash); }
private void Issue23_It_should_Encode_hash() { var hashId = new Hashids(salt: "0Q6wKupsoahWD5le", alphabet: "abcdefghijklmnopqrstuvwxyz1234567890!", seps: "cfhistu"); var source = new long[] { 35887507618889472L, 30720L, Int64.MaxValue }; var encoded = hashId.EncodeLong(source); var result = hashId.DecodeLong(encoded); result.ShouldBe(source); }
public static string GenerateSessionId(string salt, DateTime date) { var hashids = new Hashids(salt, 4, Alphabet); int rand = Counter(); string year = (date.Year - 2018).ToString(); long digits = Convert.ToInt64($"{year}{date.ToString("MMddHHmmssfff")}{rand}"); var code = hashids.EncodeLong(digits); return(code); }
private void It_encodes_a_single_long() { _hashids.EncodeLong(1L).ShouldBe("NV"); _hashids.EncodeLong(2147483648L).ShouldBe("21OjjRK"); _hashids.EncodeLong(4294967296L).ShouldBe("D54yen6"); _hashids.EncodeLong(666555444333222L).ShouldBe("KVO9yy1oO5j"); _hashids.EncodeLong(12345678901112L).ShouldBe("4bNP1L26r"); _hashids.EncodeLong(Int64.MaxValue).ShouldBe("jvNx4BjM5KYjv"); }
public void Then_Decodes_Based_On_EncodingType(EncodingType encodingType, long expectedResult) { //Arrange var config = EncodingConfigHelper.GenerateRandomConfig(); var encodingTypeConfig = config.Encodings.Single(x => x.EncodingType == encodingType.ToString()); var hashids = new Hashids(encodingTypeConfig.Salt, encodingTypeConfig.MinHashLength, encodingTypeConfig.Alphabet); var valueToDecode = hashids.EncodeLong(expectedResult); //Act var encodingService = new EncodingService(config); var result = encodingService.Decode(valueToDecode, encodingType); //Assert Assert.AreEqual(expectedResult, result); }
public bool ValidateSessionId(DfcUserSession userSession) { var splitSalt = userSession.Salt.Split('|'); var hashids = new Hashids(splitSalt[0], 4, Alphabet); if (!int.TryParse(splitSalt[1], out var currentCounter)) { return(false); } var sessionId = GenerateSessionId(userSession.CreatedDate, currentCounter); var encodedSessionId = hashids.EncodeLong(sessionId); return(encodedSessionId == userSession.SessionId); }
public string Encrypt(long id) { string encryptedId; try { encryptedId = hashids.EncodeLong(id); } catch (Exception) { throw new BusinessException <EncryptionErrorType>(EncryptionErrorType.ErrorInEncryption); } return(encryptedId); }
public void And_Encoded_Value_Is_Valid_Then_Sets_Result_To_Decoded_Value_And_Returns_True(EncodingType encodingType, long expectedResult) { //Arrange var config = EncodingConfigHelper.GenerateRandomConfig(); var encodingTypeConfig = config.Encodings.Single(x => x.EncodingType == encodingType.ToString()); var hashids = new Hashids(encodingTypeConfig.Salt, encodingTypeConfig.MinHashLength, encodingTypeConfig.Alphabet); var valueToDecode = hashids.EncodeLong(expectedResult); //Act var encodingService = new EncodingService(config); var result = encodingService.TryDecode(valueToDecode, encodingType, out var decodedValue); //Assert Assert.IsTrue(result); Assert.AreEqual(expectedResult, decodedValue); }
void issue_12_should_not_throw_out_of_range_exception() { var hash = new Hashids("zXZVFf2N38uV"); var longs = new List<long>(); var rand = new Random(); var valueBuffer = new byte[8]; var randLong = 0L; for (var i = 0; i < 100000; i++) { rand.NextBytes(valueBuffer); randLong = BitConverter.ToInt64(valueBuffer, 0); longs.Add(Math.Abs(randLong)); } var encoded = hash.EncodeLong(longs); var decoded = hash.DecodeLong(encoded); decoded.Should().Equal(longs.ToArray()); }
public static string Encode(decimal id, string SecretId) { try { if (SecretId == null) { SecretId = Models.Settings.SecretId; } var hashids = new Hashids(SecretId); long time = long.Parse(string.Format("{0:yyyyMMdd}", DateTime.Now)); string hash = hashids.EncodeLong(long.Parse(id.ToString()), time); return(hash); } catch { return(""); } }
private void Issue_12_should_not_throw_out_of_range_exception() { var hash = new Hashids("zXZVFf2N38uV"); var longs = new List <long>(); var rand = new Random(); var valueBuffer = new byte[8]; for (var i = 0; i < 100000; i++) { rand.NextBytes(valueBuffer); var randLong = BitConverter.ToInt64(valueBuffer, 0); longs.Add(Math.Abs(randLong)); } var encoded = hash.EncodeLong(longs); var decoded = hash.DecodeLong(encoded); decoded.ShouldBe(longs.ToArray()); }
public SessionResult CreateSession(string salt, DateTime date) { var hashids = new Hashids(salt, 4, Alphabet); var currentCounter = Counter(); var sessionId = GenerateSessionId(date, currentCounter); var encodedSessionId = hashids.EncodeLong(sessionId); var isValid = Validate(salt, encodedSessionId, sessionId.ToString()); if (!isValid) { throw new InvalidSessionException("Invalid decode"); } return(new SessionResult { Counter = currentCounter, EncodedSessionId = encodedSessionId, }); }
public async Task <ActionResult> Register([FromServices] QRContext context, string emailUser, string password) { //TODO: make a better way to register users //TODO: use Google / Facebook authentication //TODO: email valid emailUser = emailUser?.ToLower(); var hash = getHash(password); if (hash.Length > 500) { hash = hash.Substring(0, 500); } var user = context.SimpleUser.FirstOrDefault(it => it.Email.ToLower() == emailUser); if (user != null) { if (!user.ConfirmedByEmail) { return(Content($"email {emailUser} does exists . Check your email")); } if (user.Password == hash) { await SignUser(user); return(RedirectToAction("Index")); } else { return(Content("incorrect password. Press back and try again")); } } user = new SimpleUser(); user.Email = emailUser; user.Name = emailUser; user.Password = hash; context.Add(user); await context.SaveChangesAsync(); var strSalt = Environment.GetEnvironmentVariable("deploy"); var hashids = new Hashids(strSalt); var id = hashids.EncodeLong(user.Iduser); string url = "http://fsq.apphb.com/Home/GeneratedEmail/" + id; var apiKey = Environment.GetEnvironmentVariable("SendGridKey"); var client = new SendGridClient(apiKey); var from = new EmailAddress("*****@*****.**", "Ignat Andrei - QR"); List <EmailAddress> tos = new List <EmailAddress> { new EmailAddress(emailUser), new EmailAddress("*****@*****.**"), new EmailAddress("*****@*****.**") }; var subject = "Confirmati inregistrarea la QR Code Library "; var htmlContent = $"Va rog <strong>confirmati </strong> inscrierea la QR Code library apasand <a href='{url}'>{url}</a>. <br />Multumim!"; var msg = MailHelper.CreateSingleEmailToMultipleRecipients(from, tos, subject, "", htmlContent, false); var response = await client.SendEmailAsync(msg); return(Content("Va rugam verificat emailul( inclusiv spam/ junk) pentru a confirma adresa de email !")); }
public string Encrypt(long key) { var hashids = new Hashids(_salt); return(hashids.EncodeLong(key)); }
public string GenAppRef(long num) { return(_hashAppRef.EncodeLong(num)); }
public string GenTxnRef(long num) { return(_hashTxnRef.EncodeLong(num)); }
public string Encode(long i) { return(h.EncodeLong(i)); }
public static string EncodeAccountLegalEntityId(long id) { return(AccountLegalEntityHashGenerator.EncodeLong(id)); }
public static string Encode(long id) { return(HashGenerator.EncodeLong(id)); }
public static string Generate(TtrsDateTime dateTime) { var hashids = new Hashids(Configuration.BluemConfiguration.Config.HashSalt, Configuration.BluemConfiguration.Config.HashLength); return(hashids.EncodeLong(dateTime.Ticks) + dateTime.Iso8601Timestamp); }
public string HashEncodeLongId(long pId) { return(hashids.EncodeLong(pId)); }
public string HashValue(long id) { return(_hashIds.EncodeLong(id)); }