Ruby - 为Websocket加密生成素数

时间:2013-08-26 19:45:43

标签: ruby-on-rails ruby encryption websocket em-websocket

我在Ruby中创建一个WebSocket服务器,我想加密服务器和客户端之间的字符串消息。我买不起证书,所以我想我会用modulo创建一个加密算法。

我需要为此算法生成大质数。我知道Ruby有一个用于Primes的内置函数,但我不确定它是否可以生成50到60个数字。 Primes的内置功能对此有用吗?

如果有人能提供更好的方式来免费加密我的WS消息(并在另一方解密),我也会接受:)

1 个答案:

答案 0 :(得分:2)

除非这是一个面向公众的项目,否则自签名证书将起作用。只有当您的客户端需要一种信任它所连接的服务器的方式时,真正的证书才有用。

或者,Crypt gem有许多Ruby加密函数实现。以下是使用Rijndael加密和解密字符串的示例:

crypter = Crypt::Rijndael.new("super-awesome-32-byte-key-goes-here")
plaintext = "Hey Bob, how's it going? -- Alice"
cyphertext = crypter.encrypt_block(plaintext)
plaintext_again = crypter.decrypt_block(cyphertext)

如果您可以在客户端/服务器之间共享密钥,那么这样做不会有任何问题。