小编rah*_*ver的帖子

AES/GCM(AES-128-GCM)身份验证标记在C#和Ruby中有所不同

我正在尝试在C#中生成一个身份验证标记,我已经在Ruby中生成了(用于测试目的).然而结果是不同的,但据我所知,输入是相同的.

在Ruby 2.0中使用OpenSSL 1.0.1c(Ubuntu 13.04):

require 'openssl'
require 'base64'
iv = Base64.decode64('kEWio77T7qWdytrIbUmRxA==')
key = Base64.decode64('FnUoIZvBUzC1Q/rn5WMi7Q==')
aad = Base64.decode64('/tTP07sPkoX8gah60eH89w==')
cipher = OpenSSL::Cipher.new('aes-128-gcm').encrypt
cipher.iv = iv
cipher.key = key
cipher.auth_data = aad
cipher.final
tag = Base64.strict_encode64(cipher.auth_tag)
Run Code Online (Sandbox Code Playgroud)

生成的(编码的)标签是 ie74XTWtSLNad0BKdrhvmQ==

在C#中使用BouncyCastle(片段):

var iv = Convert.FromBase64String("kEWio77T7qWdytrIbUmRxA==");
var key = Convert.FromBase64String("FnUoIZvBUzC1Q/rn5WMi7Q==");
var aad = Convert.FromBase64String("/tTP07sPkoX8gah60eH89w==");
var cipher = new GcmBlockCipher(new AesFastEngine());
var parameters = new AeadParameters(new KeyParameter(passkey), 128, iv, aad);
cipher.Init(true, parameters);
var cipherText = new byte[cipher.GetOutputSize(0)];
cipher.DoFinal(cipherText, 0);
var tag = Convert.ToBase64String(cipher.GetMac());
Run Code Online (Sandbox Code Playgroud)

C#中生成的标签是 sawCcwM1T8sGl5y6VT0CHA==

我在这做错了什么?在此先感谢您的回复!

c# ruby openssl bouncycastle aes-gcm

2
推荐指数
1
解决办法
3355
查看次数

无法在github上分享来自intellij的项目

我正在尝试将我的项目从intellij Idea(12.1.4)分享到github.我创建了一个帐户并按照这些在github上创建帐户并将凭据保存在IDE设置中.此外,当我测试版本控制 - > Github时,它显示连接成功.但是,当我进入VCS->导入到版本控制 - >共享项目到github时,它显示

Couldn't identify the version of Git- stopped by timeout.
Run Code Online (Sandbox Code Playgroud)

由于我能够提交,因此Git已正确安装和配置.但是当我尝试推送时,错误:

Can't push,because no remotes are defined
Run Code Online (Sandbox Code Playgroud)

显示出来.我怀疑错误是相关的.那么我应该如何在github上共享项目以及导致错误的原因是什么?

git version-control github intellij-idea

2
推荐指数
1
解决办法
4668
查看次数

使用java在网站上下载文件的最快方法

我正在编写一个Java代码,使用http协议在网站上下载大量的zip文件,每个文件的大小约为1MB(1024KB).

我知道有很多方法可以做到这一点.我只是徘徊,这是最快的,我想知道每个下载的进度,如显示百分比数字或其他东西.

我只是提供我的代码版本,关于如何改进它的任何想法?

谢谢大家.

 public static void downloadFile(String downloadUrl , String fileName) throws Exception {
    URL url=new URL(downloadUrl); 
    URLConnection connection = url.openConnection();
    int filesize = connection.getContentLength(); 
    float totalDataRead=0; 
    java.io.BufferedInputStream in = new java.io.BufferedInputStream(connection.getInputStream()); 
    java.io.FileOutputStream fos = new java.io.FileOutputStream(fileName); 
    java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
    byte[] data = new byte[1024]; 
    int i=0; 
    while((i=in.read(data,0,1024))>=0) { 
        totalDataRead=totalDataRead+i; 
        bout.write(data,0,i); 
        float Percent=(totalDataRead*100)/filesize;
        System.out.println((int)Percent);
    }    
    bout.close(); 
    in.close();
}
Run Code Online (Sandbox Code Playgroud)

java url

2
推荐指数
1
解决办法
2459
查看次数

Discord Js 为具有默认头像的服务器成员提供 null avatarURL

这是我尝试访问用户头像的代码:

Client.on("guildMemberAdd", newMember => {
    console.log("Welcomed member avatar: " + newMember.user.avatar);
    console.log("Welcomed member avatarURL: " + newMember.user.avatarURL);
});
Run Code Online (Sandbox Code Playgroud)

如果用户刚刚加入服务器并设置了与 discord 的默认头像不同的头像,则上面的代码可以正常工作。但是对于拥有discord默认头像的用户,avatar和avatarURL都为null。

那么我如何让这些用户使用它呢?

顺便说一句,这是可能的,因为像https://welcomer.fun/这样的机器人已经在这样做了。

discord discord.js

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

使用web2py中的menu.py将视图添加为菜单项

有人帮我理解models/menu.py文件的以下代码:

response.menu = [  
(T('Home'),False,URL('default','index')),  
(T('About'),False,URL('default','what')),  
(T('Download'),False,URL('default','download')),  
(T('Docs & Resources'),False,URL('default','documentation')),  
(T('Support'),False,URL('default','support')),  
(T('Contributors'),False,URL('default','who'))  
]
Run Code Online (Sandbox Code Playgroud)

在这里,我们在URL中指定控制器(例如,默认/什么).如果我想在此指定视图怎么办?

python model-view-controller web2py

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

javascript中的对象文字如何工作?

在考虑以下代码示例(来自Mozilla的开发人员站点)时,我在javascript中理解对象文字的语法时遇到了一些麻烦:

var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" };

console.log(car.manyCars.b); // Jeep
console.log(car[7]); // Mazda
Run Code Online (Sandbox Code Playgroud)

我目前对javascript对象文字的理解是:如果你给一个键,值对和键是一个数据类型,它就像python字典一样,使car [key]返回你设置的键值.如果您将密钥仅作为文本提供,它会将"car"中的变量定义为与密钥关联的值.但是,在上面,"b"是一个字符串,但car.manyCars.b可以调用,就好像它是一个设置为的变量"Jeep",AND ALSO car.manyCars["b"]是有效的语法,返回"Jeep".

我想知道是否有人可以给我一个明确的解释,当你声明一个对象文字时实际发生了什么,因为显然我目前的理解并不完整.

javascript

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

java中的类成员定义

我最近遇到过这句话:

"Class A has class member int a"
Run Code Online (Sandbox Code Playgroud)

可能很明显,但这句话只是意味着a一个int定义class A,对吧?

另一件事,例如a在一个方法中定义class A.它还是一个班级成员吗?
我没有找到关于班级成员的明确定义,我看了一下:但这并不是很有帮助.

在此先感谢您的帮助

java

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

ConcurrentModificationException Minigame

你好.

我正在运行服务器并添加了一个迷你游戏.

每当游戏即将开始时......它首先调用onStart().现在我在这一行得到ConcurrentModificationException:

for(Player p : waiting) {
Run Code Online (Sandbox Code Playgroud)

这是方法:

    public void onStart() {
    trawler.players.clear();
    for(Player p : waiting) {
        if(!boat.playerInArea(p)) {
            waiting.remove(p);
        }
    }

    for(Player p : waiting) {
        trawler.players.add(p);
    }

    trawler.start();
    waiting.clear();
}
Run Code Online (Sandbox Code Playgroud)

如果你需要课程,这里是:

TrawlerWaitingRoom.java:

package server.model.minigames.trawler;

import server.model.players.Location;
import server.model.players.Player;

public class TrawlerWaitingRoom extends WaitingRoom {
private Trawler trawler;
//private Location boat = new Location(2668,2674,3165,3185);
private Location boat = new Location(2808, 2811,3415,3425);


public TrawlerWaitingRoom(Trawler trawler) {
    super(1, 2);
    this.trawler = trawler;
}

@Override
public boolean startGame() {
    if(trawler.inProgress()) …
Run Code Online (Sandbox Code Playgroud)

java exception java.util.concurrent concurrentmodification

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

确保登录后客户端上可以使用Meteor.user()

我发现这个奇怪的问题,它看起来很安静致病!

我虽然Meteor.user()在您登录后总是可用,但我发现它根本不可靠,因为它经常返回undefined.

在提到一些SO问题之后,由于"时间问题",似乎Meteor.user()可能无法完全加载.

我需要一种可靠的方法来确保Meteor.user()完全加载到客户端.我的大多数代码都使用这种方法来获取用户配置文件.因此,能够使这种方法工作而不是使用此处给出的方法会很棒

javascript meteor

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

Sails 1.0 POST路由给出403错误

在我的routes.js文件中,我定义了这样一条路由:

'PUT /api/v1/entrance/login': { action: 'entrance/login' }, 'POST /api/v1/entrance/signup': { action: 'entrance/signup' }, 'POST /api/v1/entrance/send-password-recovery-email': { action: 'entrance/send-password-recovery-email' }, 'POST /api/v1/entrance/update-password-and-login': { action: 'entrance/update-password-and-login' }, 'POST /api/v1/deliver-contact-form-message': { action: 'deliver-contact-form-message' }, 'POST /api/v1/getEventsForICalUrl': 'IcalController.getEvents',

我刚刚使用了默认的生成代码,并为添加了最后一条路线getEventsForIcalUrl。我在IcalControllercontrollers目录中创建了一个目录,它具有一个getEvents仅呈现如下json 的操作:

module.exports = {


  /**
   * `IcalController.getEvents()`
   */
  getEvents: async function (req, res) {
    console.log("hit here");
    let events = [];
    for (var i = 0; i < 20; i++) {
      events.push({foo: "bar" + i});
    }
    return res.json({
      events: events …
Run Code Online (Sandbox Code Playgroud)

sails.js

1
推荐指数
2
解决办法
1295
查看次数