首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#非常简单的游戏字符串加密

C#非常简单的游戏字符串加密
EN

Stack Overflow用户
提问于 2014-05-21 10:40:09
回答 4查看 10.4K关注 0票数 0

我正在使用c#制作一个关于团结的小游戏。它基本上是一个2d侧滚动转轮类型的游戏。我测量每个玩家完成游戏所需的时间,并将其存储在浮点数上。我想把它和一个盐字放在一个字符串中,并向播放器显示一个加密的代码。

代码必须足够小,以便由播放器轻松地写下来。我应该能够解密玩家将发送给我的代码,并计算出他/她完成游戏所花费的时间。

请告诉我该怎么做。我在网上看到的大多数算法都非常复杂,产生了大量的加密文本。

提前谢谢。

EN

Stack Overflow用户

发布于 2016-08-29 14:36:12

以下是Rot13想法的一些变体。Rot39也只置乱字符的一个子集,它不是像凯撒那样简单的算术。

代码语言:javascript
运行
复制
public static string Rot47(string input)
{
    return !string.IsNullOrEmpty(input) ? new string(input.Select(x =>
        (x >= 33 && x <= 126) ? (char)((x + 14) % 94 + 33) : x).ToArray()) : input;
}


public static string Rot13(string input)
{
    return !string.IsNullOrEmpty(input) ? new string(input.Select(x =>
        (x >= 'a' && x <= 'z') ? (char)((x - 'a' + 13) % 26 + 'a') :
        (x >= 'A' && x <= 'Z') ? (char)((x - 'A' + 13) % 26 + 'A') : x).ToArray()) : input;
}


public static string Rot39(string input)
{
    // This string contains 78 different characters in random order.
    var mix = "QDXkW<_(V?cqK.lJ>-*y&zv9prf8biYCFeMxBm6ZnG3H4OuS1UaI5TwtoA#Rs!,7d2@L^gNhj)EP$0";
    var result = (input ?? "").ToCharArray();
    for (int i = 0; i < result.Length; ++i)
    {
        int j = mix.IndexOf(result[i]);
        result[i] = (j < 0) ? result[i] : mix[(j + 39) % 78];
    }
    return new string(result);
}

一个好的黑客可能需要大约15分钟的时间才能用黑匣子测试出Rot39

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23780833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档