问题列表 - 第6228页

在Ruby中模仿AES_ENCRYPT和AES_DECRYPT函数

我需要模仿MySQL在使用内置函数AES_ENCRYPT()和AES_DECRYPT()加密和解密字符串时所做的事情.

我已经阅读了几篇博文,显然MySQL使用AES 128位加密来实现这些功能.最重要的是,由于此加密需要16位密钥,因此MySQL会使用x0字符(\ 0s)填充字符串,直到它的大小为16位.

从MySQL源代码中的C算法在这里被发现.

现在我需要复制MySQL在Rails应用程序中所做的事情,但我尝试过的每一件事都不起作用.

这是一种复制我得到的行为的方法:

1)创建一个新的Rails应用程序

rails encryption-test
cd encryption-test
Run Code Online (Sandbox Code Playgroud)

2)创建一个新的脚手架

script/generate scaffold user name:string password:binary
Run Code Online (Sandbox Code Playgroud)

3)编辑config/database.yml并添加测试MySQL数据库

development:
    adapter: mysql
    host: localhost
    database: test
    user: <<user>>
    password: <<password>>
Run Code Online (Sandbox Code Playgroud)

4)运行迁移

rake db:migrate
Run Code Online (Sandbox Code Playgroud)

5)进入控制台,创建用户并从MySQL查询更新其密码

script/console
Loading development environment (Rails 2.2.2)
>> User.create(:name => "John Doe")
>> key = "82pjd12398JKBSDIGUSisahdoahOUASDHsdapdjqwjeASIduAsdh078asdASD087asdADSsdjhA7809asdajhADSs"
>> ActiveRecord::Base.connection.execute("UPDATE users SET password = AES_ENCRYPT('password', '#{key}') WHERE name='John Doe'")
Run Code Online (Sandbox Code Playgroud)

这就是我被卡住的地方.如果我试图解密它,使用MySQL它的工作原理:

>> loaded_user = User.find_by_sql("SELECT AES_DECRYPT(password, '#{key}') AS password FROM users WHERE id=1").first
>> loaded_user['password']
=> "password"
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用OpenSSL库,我无法使其工作: …

ruby encryption openssl aes

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

Scala集合标准实践

来自一个Java背景,我已经习惯了处理集合的常见做法:显然会有异常,但通常代码看起来像:

public class MyClass {
  private Set<String> mySet;

  public void init() {
    Set<String> s = new LinkedHashSet<String>();
    s.add("Hello");
    s.add("World"); 
    mySet = Collections.unmodifiableSet(s);
  }
}
Run Code Online (Sandbox Code Playgroud)

我不得不承认,我对Scala中的众多选项感到有些困惑.有:

  • scala.List(和Seq)
  • scala.collections.Set(和Map)
  • scala.collection.immutable.Set(而且Map,Stack不是List)
  • scala.collection.mutable.Set(而且Map,Buffer不是List)
  • scala.collection.jcl

所以问题!

  1. 为什么List并且Seq在包中定义scala而不是 scala.collection(尽管实现Seq是在集合子包​​中)?
  2. 初始化集合然后冻结它的标准机制是什么(在Java中是通过包装来实现的unmodifiable)?
  3. 为什么某些集合类型(例如MultiMap)仅定义为可变?(没有不可改变的MultiMap)?

我读过Daniel Spiewak 关于scala集合精彩系列 …

java scala scala-collections

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

当你使用rpcgen时,调用者如何找到被调用者?

这就是我对它的理解:

.x文件定义接口以及服务器和客户端共享的参数.当用rpcgen编译它时,它会生成.h,_xdr.c,_clnt.c和_svc.c._clnt.c是stub,_svc.c是skelleton,对吗?

我明白他们介于2之间的沟通,但是如何呢?此外,我看到运行的示例有你指定要连接的机器的IP地址(在示例中它使用相同的,127.0.0.1),但是您没有指定端口.它有保留端口吗?

rpc

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

是否可以使用 Javascript 计算文件的 SHA1 ID?

如果可以在发布表单之前执行此操作,那么我可能不必将文件上传到我的服务器......

javascript sha1

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

如何使用TSQL检查用户密码何时到期?

使用SQL Server 2005及更高版本,如何使用TSQL检查用户密码何时过期?

优选地,这将使用针对同一用户的连接来完成.运行SQL语句需要什么权限?

t-sql sql-server credentials

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

如何约束多个列以防止重复,但忽略空值?

这是我在Oracle数据库(10g)中运行的一个小实验.除了(Oracle的)实现方便之外,我无法弄清楚为什么有些插入被接受而其他插入被拒绝.

create table sandbox(a number(10,0), b number(10,0));
create unique index sandbox_idx on sandbox(a,b);

insert into sandbox values (1,1); -- accepted
insert into sandbox values (1,2); -- accepted
insert into sandbox values (1,1); -- rejected

insert into sandbox values (1,null); -- accepted
insert into sandbox values (2,null); -- accepted
insert into sandbox values (1,null); -- rejected

insert into sandbox values (null,1); -- accepted
insert into sandbox values (null,2); -- accepted
insert into sandbox values (null,1); -- rejected

insert into sandbox values …
Run Code Online (Sandbox Code Playgroud)

oracle null nullable constraints unique-index

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

AS3 [Event(name ="",type ="")],有什么意义?

我使用FlashDevelop3 R2和Flex 3.3 SDK进行开发,在很多场合我必须使用嵌入元数据标签:

  [Embed(source="path/to/file")]
  private var Asset:Class;
Run Code Online (Sandbox Code Playgroud)

我理解上面所有这些都很好,我很感谢它的存在,因为我不喜欢经常打开Flash IDE.

当我最近通过其他作者课程时,我发现了一个我不理解的有趣的元数据标签:

[Event(name="", type="")]
Run Code Online (Sandbox Code Playgroud)

我还没有看到我需要这种情况,而且我真的不明白它是什么.

提前感谢您的帮助.

Brian Hodge
blog.hodgedev.com hodgedev.com

flashdevelop actionscript-3

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

如何配置IIS以解析.xml文件中的c#代码?

我正在尝试配置IIS来解析.xml文件,就像解析.aspx文件一样.原因是我在<script>块中有一些c#代码,它会扫描一些文件夹然后吐出动态xml.

现在通常我只是在.aspx文件中执行此操作,并设置使用代码以获取xml数据的.aspx URL.但是,消费代码是一个遗留的.swf文件,它被硬编码为使用同名的.xml文件,我们无法访问源.fla文件.

我认为这很容易......但事实证明它比我想象的要困难.我已经进入IIS中的应用程序配置并添加了.xml的应用程序扩展名与.aspx(属性 - >主目录选项卡 - >配置)相同,但似乎有一些我缺少的东西,因为现在正在尝试加载.xml文件只是什么都不做,浏览器立即返回页面无法找到.

有谁知道如何让IIS和.Net框架解析我的.xml文件?

iis iis-6

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

如何参数化扩展集合

我一直试图扩展ArrayList类没有太大的成功.我想扩展它,并能够参数化它.

通常你有类似的东西

ArrayList<SomeObject> list = new ArrayList<SomeObject>();
Run Code Online (Sandbox Code Playgroud)

我想要

MyList<SomeObject> list = new MyList<SomeObject>();
Run Code Online (Sandbox Code Playgroud)

简单地扩展ArrayList不起作用.

public class MyList extends ArrayList ...
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时,我得到了错误

MyList类型不是通用的; 它不能使用参数<SomeObject>进行参数化

我尝试过变种

public class MyList extends ArrayList<Object>
public class MyList<SubObject> extends ArrayList<Object>
Run Code Online (Sandbox Code Playgroud)

没有成功,如果我使用类名后面的子对象它似乎工作,但由于某种原因隐藏子对象类中的方法.

任何有关如何使这项工作正常的想法或建议都值得赞赏.

java collections extends parameterized

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

UITabBar中的自定义颜色

是否可以在UITabBar中使用自定义颜色和背景图像?我意识到Apple希望每个人都使用相同的蓝色和灰色标签栏,但有没有办法自定义这个?

其次,即使我创建自己的TabBar视图控制器,以及自定义图像,这是否会违反Apple的人机界面指南?

iphone objective-c

40
推荐指数
5
解决办法
6万
查看次数