当前位置: 首页 > article >正文

给字符串加密解密

加密规则:输入1a2b3c 输出 abbccc

解密:输入abbccc 输出 1a2b3c

代码:

using System;

namespace 加密解密
{
    class Program
    {
        static void Main(string[] args)
        {
            Encryption("4b2a8p");
            Decryption("ppppppoovvv");
            Console.ReadKey(); // 等待用户按下任意键
        }
        // 加密
        static void Encryption(string shuju)
        {
            string jiamizifu = ""; // 初始化加密后的字符串
            for (int i = 0; i < shuju.Length; i += 2) // 每次跳 2 个字符(数字 + 字母)
            {
                // 获取数字部分(字符重复次数)
                if (char.IsDigit(shuju[i]))
                {
                    int repeatCount = int.Parse(shuju[i].ToString());

                    // 获取字母部分
                    if (i + 1 < shuju.Length && char.IsLetter(shuju[i + 1]))
                    {
                        char character = shuju[i + 1];
                        // 根据重复次数拼接字符
                        for (int j = 0; j < repeatCount; j++)
                        {
                            jiamizifu += character;
                        }
                    }
                }
            }
            Console.WriteLine("加密后的字符串:" + jiamizifu);
        }
        // 解密
        static void Decryption(string shuju)
        {
            string jiemizifu = ""; // 初始化解密后的字符串
            int repeatCount = 1; // shuzu[i] 重复的次数
            for (int i = 0; i < shuju.Length; i++)
            {
                char currentChar = shuju[i];
                repeatCount = 1;
                // 统计连续相同字符的数量
                while (i + 1 < shuju.Length && shuju[i + 1] == currentChar)
                {
                    repeatCount++;
                    i++;
                }
                // 将统计结果转换为数字加字符的形式
                jiemizifu += repeatCount.ToString() + currentChar;
            }
            Console.WriteLine("解密后的字符串:" + jiemizifu);
        }
    }
}

输出:

 

 


http://www.kler.cn/a/562725.html

相关文章:

  • Redis缓存淘汰算法——LRU
  • Redis SCAN 命令详解:安全遍历海量键的利器
  • VidSketch:具有扩散控制的手绘草图驱动视频生成
  • Eclipse安装和配置环境教程包含下载、安装、汉化(附安装包)
  • 深入浅出Spring Boot框架:从入门到精通
  • 力扣热题 100:滑动窗口专题两道题详细解析(JAVA)
  • macpro m1 安装deepseek
  • Python【数据处理】高级编程
  • 流程管理和质量体系管理怎样有效的整合
  • SSD 固态硬盘存储密度的分区
  • 什么是 Java 中的线程安全?
  • react中,在组件内返回style标签方法
  • mysql有索引但是查询没有使用索引是什么问题
  • mac修改docker的daemon.json 镜像文件
  • DeepSeek:面向效率与垂直领域的下一代大语言模型技术解析
  • Deepseek底层技术解析:构建下一代对话式AI的核心架构
  • 【Linux C | 时间】localtime 的介绍、死机、死锁问题以及 localtime_r 函数的时区问题
  • C语言实现通讯录项目
  • 基于Zigbee的三车协作智能小车项目改进方案
  • python学习四