小编b1n*_*1nd的帖子

了解Scala块

我很难找到具体的答案,我所知道的是微不足道的.我想了解块如何在Scala中工作.我来自java/ruby​​背景,似乎scala有一种完全不同的使用块的方式.

以下代码来自Play!框架网站.我想了解Action在语义上是什么.是接受块的对象还是函数,或者两者都不接受.

object Application extends Controller {

  def index = Action {
    Ok(views.html.index("Your new application is ready."))
  }

}
Run Code Online (Sandbox Code Playgroud)

如果它是一个函数,也许它是以下的语法糖(在这种情况下scala如何在幕后传递块):

  def index = Action({
    Ok(views.html.index("Your new application is ready."))
  })
Run Code Online (Sandbox Code Playgroud)

或者它是一些我不知道的scala语法.

对Scala源代码的任何引用都将帮助我理解它在幕后的工作原理.

scala block playframework

20
推荐指数
2
解决办法
2797
查看次数

.NET RSA加密不适用于OpenSSL

我在https://github.com/eastwood/dotnet-rsa-encryption创建了一个演示回购.来自README,其中包括问题陈述.

RSA加密问题

我已经生成了一个随机的RSA密钥对.这是使用:

openssl genrsa -out test-key.pem 4096
openssl rsa -in key.pem -pubout > test-key-public.key
Run Code Online (Sandbox Code Playgroud)

下面概述了问题,我根本无法获得.NET Core的工作解决方案.

先决条件

  1. dotnet核心
  2. 节点js
  3. OpenSSL的

命令在osx上运行,但希望也适用于windows + linux.

打开SSL CLI

$ cat run-cli.sh`

echo "Encrypting the following text: 4111111111111"
echo "411111111111" | openssl rsautl -encrypt -oaep -pubin -inkey certs/test-key-public.key | base64 | cat > cli-encrypted.txt
cat cli-encrypted.txt | base64 --decode | openssl rsautl -decrypt -oaep -inkey certs/test-key.pem
Run Code Online (Sandbox Code Playgroud)

这完全符合预期.

节点

节点也可以正常工作.样机在这里

你可以通过:

npm i
npm run start && ./run-node.sh`
Run Code Online (Sandbox Code Playgroud)

.NET核心

.NET无法正常工作:(

class …
Run Code Online (Sandbox Code Playgroud)

.net encryption ssl openssl rsa

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

标签 统计

.net ×1

block ×1

encryption ×1

openssl ×1

playframework ×1

rsa ×1

scala ×1

ssl ×1