WALTER | Workable Algorithms for Location-aware Transmission, Encryption Response

StringExtensions..::..FromNumeric Method (IEnumerable<(Of <(<'UInt64>)>)>)

Decodes a sequence of unsigned long integers (ulong) back into the original plaintext string. Each ulong in the sequence represents a part of the ciphered text, allowing for the reconstruction of larger text blocks that were previously encoded.

Namespace:  System.Text
Assembly:  Walter.Cypher (in Walter.Cypher.dll)

Syntax


public static string FromNumeric(
	this IEnumerable<ulong> values
)

Parameters

values
Type: IEnumerable<(Of <(<'UInt64>)>)>
The sequence of ulong values to decode.

Return Value

A string that represents the decoded plain-text from the numeric values.

Remarks


Similar to the TryAsNumeric method, this decoding process is not meant to replace more secure encryption methods but offers a straightforward approach to obfuscating and storing text. It's particularly useful for scenarios where text needs to be efficiently stored and queried in numeric form, such as in database indexing or when transmitting over systems where numeric data is preferred.

Examples


C#
IEnumerable<ulong> cipheredValues = new ulong[] { /* Numeric values for:"Test string 123 is really quite long and one can't save it in a single long value. So the thing we do is generate a array of ulong values that can be used to hold the encoded value." */
   4757068480116101461
   ,2111540436116752063
   ,9285992115466111645
   ,5408114854481054625
   ,5110879610376183266
   ,8854967645060704517
   ,5760328774105465211
   ,2576523240908114462
   ,2710167529785303108
   ,4406381088771121778
   ,6632852591138029311
   ,4745682105853101164
   ,4024610177453285153
   ,7108459801118791110
   ,3476910367873275611
   ,4974684110478510076
   ,9883285692111455751
   ,8104013710160342327
   ,4085199705929780141
   ,5110703873986851167
   ,3672324052711576929
   ,8786121184647101754
   ,8673280687105454691
   ,5166071932463510580
   ,8638110602353277869
   ,9760829328723115862
   ,9910580372110452241
   ,3034692108856331016
   ,2634324748108464911
   ,7147751108089210370
   ,2588328691118757029
   ,4745982108874911747
   ,7181017714467531232
   ,9673283875211160661
   ,5324521011687891044
   ,4060610166803286801
   ,3164573710440659105
   ,9875711045789103765
   ,5232857361194779101
   ,7766232463910047201
   ,2117538632477610586
   ,8111157531032866410
   ,2387801018766110401
   ,6771014595611470911
   ,8978745116467410176
   ,6713266699760105326
   ,6660978092411487731
   ,2146069397452081217
   ,2519332405941114515
   ,5710267503247251174
   ,9677108801471114581
   ,8711040184103675732
   ,3457251186752974784
   ,5108873111785838101
   ,7402021157023432475
   ,5811647691047694974
   ,3597611670205327751
   ,6997653978597911066
   ,6913277709845242101
   ,6668732459371174548
   ,8211580459101852601
   ,4006569732465011647
   ,9221116070432859771
   ,4044774111878610885
   ,3687100773332405241
   ,3164074710480704101
   ,6779032404801014060
   ,5011066809947331118
   ,4040210045750101874
   ,8910060149328080811
   ,3877339785721108465
   ,9711780214101667746
   };
   string decodedText = cipheredValues.FromNumeric();
   Console.WriteLine(decodedText);
   // Outputs the original text