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

给字符串加密解密

加密规则:输入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);
        }
    }
}

输出:

 

 

相关文章:

  • Go中slice和map引用传递误区
  • 内存泄漏问题分享
  • nginx 配置https
  • 怎样免费部署LLM通过python进行调用
  • [含文档+PPT+源码等]精品基于Python实现的居家健身系统的设计与实现
  • Linux | GRUB / bootloader 详解
  • 【Java项目】基于Spring Boot的论坛管理系统
  • 如何在 Unity3D 中将网页内容渲染为纹理
  • 缓存击穿、缓存穿透、缓存雪崩
  • 回归预测 | Matlab基于SSA-BiLSTM-Attention的数据多变量回归预测(多输入单输出)
  • 文献汇总|AI生成图像检测相关数据集汇总
  • 聚焦低空经济,峰飞航空飞行汽车开启未来出行新篇章
  • 学习笔记06——JVM调优
  • 【论文解读】Kimi开源《Muon is Scalable for LLM Training》
  • 蓝桥杯练习代码
  • 【Python爬虫(88)】当Python爬虫邂逅智能硬件:解锁数据新玩法
  • 【K8S】Kubernetes 基本架构、节点类型及运行流程详解(附架构图及流程图)
  • 仅需三分钟,使用Vue3.x版本组件式风格实现一个消息提示组件!
  • 故障诊断 | Matlab实现基于双堆集stack模型的多特征分类预测/故障诊断
  • 【大模型系列篇】大模型微调工具 LLama-Factory、Unsloth、ms-SWIFT
  • 伤员回归新援融入,海港逆转海牛重回争冠集团
  • 梵蒂冈选出新教皇,外交部:望新教皇推动中梵关系不断改善
  • 人民时评:透过上海车展读懂三组密码
  • 印度外交秘书:“朱砂行动”不针对军事设施,无意升级事态
  • 首批证券公司科创债来了!拟发行规模超160亿元
  • 花20万骑自行车?CityRide带火“骑行经济”