小编Roy*_*Roy的帖子

防止存储在内存中的字符串被其他程序读取

像ProcessExplorer这样的程序能够读取内存中的字符串(例如,我可以很容易地显示在代码中编写的错误消息,即使它已经编译过).

  1. 想象一下,如果我在内存中按顺序分配了密码字符串"123456".如果黑客能够获取用户输入的密码怎么办?反正有没有阻止字符串被清楚地看到?

  2. 哦,是的,如果我将密码哈希并从客户端发送到服务器以比较存储的数据库哈希值,黑客是否能够存储相同的哈希值并重播它以获得对用户帐户的访问权限?反正有没有阻止重播?

谢谢!

c++ security string

6
推荐指数
1
解决办法
2150
查看次数

游戏中的Unicode输入处理

我有一个游戏,要求我允许玩家通过网络互相聊天.一切都很好,除了玩家可以键入Unicode输入的部分.

所以,这个问题可以分为两部分:

  • 玩家输入时,如何捕获输入?我之前通过游戏输入处理(轮询)完成了这项工作,但是,它不像Windows Forms那样响应.

  • 将输入捕获到字符串后,如何使用TrueType字体输出?我问这个的原因是因为通常,我会在游戏开始时使用游戏中使用的所有文本构建位图字体.但是使用unicode输入,需要将近10k个字符,这在游戏开始时是不可能的.

PS我的目标输入语言更具体针对中文,韩文和日文.

c++ opengl unicode sdl

3
推荐指数
1
解决办法
2654
查看次数

Java 中的流序列化

在 C++ 中,我创建了一个名为 Serializer 的类。我想复制 Java 中的功能。以下是序列化器的工作原理。

Serializer s;
s.writeString(myString); // automatically converted to Big-Endian unicode string with length prepended.
s.writeInt(myInt); // automatically converted to Big-Endian integer (swizzled if necessary)
s.writeObject(myObject); // which implements the Serializable interface
    {
        s.writeInt(myObjectId); // internally, it writes the data that I want to serialize.
        ...
    }

ZlibCompressor.compress(s); // 's' is compressed
    {
        bytes = s.getBytes(); // internally, it gets bytes, ...
        compressFunc(bytes); // compress them
        s.overwrite(bytes); // and overwrites
    }

AESCipher.encrypt(s); // similarly, 's' …
Run Code Online (Sandbox Code Playgroud)

c++ java serialization stream

0
推荐指数
1
解决办法
1932
查看次数

标签 统计

c++ ×3

java ×1

opengl ×1

sdl ×1

security ×1

serialization ×1

stream ×1

string ×1

unicode ×1