javascript-algorithms icon indicating copy to clipboard operation
javascript-algorithms copied to clipboard

Optimize Caesar Cipher Implementation and Enhance Robustness

Open Suhaniahirwar20 opened this issue 7 months ago • 3 comments

Description: The current Caesar cipher implementation works correctly for both encryption and decryption, but there are opportunities for optimization and added functionality:

Optimization: The getCipherMap function unnecessarily clones the charsMap object in every iteration, which can be simplified by directly updating the existing object. Robustness: There are no checks for invalid inputs, such as non-string data types or empty strings. Adding input validation will make the functions more reliable. Preserve Case: The cipher converts all characters to lowercase, losing the original case. Enhancing the logic to preserve the case would improve usability. Suggested Fix:

Optimize the reduce method by removing redundant cloning. Add input validation checks. Implement case-sensitive encryption and decryption.

Suhaniahirwar20 avatar Mar 13 '25 14:03 Suhaniahirwar20