如何对字符串加密,加密后和原来字符长度相等

你忘了我是谁了? 2013-01-29 11:17:46
我现在想对字符串加密,然后转为byte数组,读取byte数组并解密为原始字符串。由于要求加密后的字符串长度和原始长度一致。现在没有发现可行的算法,请教高人。
...全文
532 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
加油馒头 2013-01-31
  • 打赏
  • 举报
回复
引用 10 楼 lyq8376 的回复:
引用 9 楼 bwangel 的回复: 为什么有这种需求?这种需求能增强安全性还是怎么滴? 干咱们这行的,客户提了需求就要照着办啊
客户很专业的样子,连这都懂。
bwangel 2013-01-29
  • 打赏
  • 举报
回复
为什么有这种需求?这种需求能增强安全性还是怎么滴?
夜色镇歌 2013-01-29
  • 打赏
  • 举报
回复
自己写一个加密的算法呗
三五月儿 2013-01-29
  • 打赏
  • 举报
回复
要是简单的加密算法就自己定义一个呗,将每一个字符的ascii码都加上或者减去一个固定值可行?
韩誉 2013-01-29
  • 打赏
  • 举报
回复
楼主是要算法?还是方法? 算法字典:原始"achzuno" 变换"hzonacu" 加密前字符串:"zhaohuchuan" 加密后字符串:"nohcoazoahc" 这个是简单的加密方法.你可以无序次的生成 算法字典。只要别人拿不到算法字段和 加密前后数据换算 解密算法就很难哦
王子文龙 2013-01-29
  • 打赏
  • 举报
回复
楼上各位的都是用的linq吗
  • 打赏
  • 举报
回复
  var bt1 = Enumerable.Range(1, 300).Select(t => (byte)t).ToList();
            var bt2 = bt1.Select((t, index) => (byte)(t + index % 20)).ToList();
            var bt3 = bt2.Select((t, index) => (byte)(t + byte.MaxValue - index % 20)).ToList();
         
threenewbee 2013-01-29
  • 打赏
  • 举报
回复
方法有很多,教你一个最简单的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "这是一段话,abcde。";
            byte[] crypt = Encoding.Default.GetBytes(s).Select(x => (byte)((x + 10) % 256)).ToArray();
            Console.WriteLine("加密后 " + string.Join("", crypt.Select(x => x.ToString("X").PadLeft(2, '0'))));
            byte[] source = crypt.Select(x => (byte)((x - 10 + 256) % 256)).ToArray();
            Console.WriteLine("原文 " + string.Join("", source.Select(x => x.ToString("X").PadLeft(2, '0'))));
            Console.WriteLine("原文文本 " + Encoding.Default.GetString(source));

        }
    }
}
Hauk 2013-01-29
  • 打赏
  • 举报
回复
这个得看你具体需求,比如一个简单的: byte[] buffer = System.Text.Encoding.Default.GetBytes("ABC"); buffer = buffer.Select(item => item + 1 < 255 ? Convert.ToByte(item + 1) : item).ToArray();
bdmh 2013-01-29
  • 打赏
  • 举报
回复
如果是简单加密肯定可以,比如对每个字节进行一些数值操作
_猫了个咪 2013-01-29
  • 打赏
  • 举报
回复
网上有很多加密算法的
  • 打赏
  • 举报
回复
引用 9 楼 bwangel 的回复:
为什么有这种需求?这种需求能增强安全性还是怎么滴?
干咱们这行的,客户提了需求就要照着办啊

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧