我需要模仿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库,我无法使其工作: …
来自一个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所以问题!
List并且Seq在包中定义scala而不是 scala.collection(尽管实现Seq是在集合子包中)?unmodifiable)?MultiMap)仅定义为可变?(没有不可改变的MultiMap)?这就是我对它的理解:
.x文件定义接口以及服务器和客户端共享的参数.当用rpcgen编译它时,它会生成.h,_xdr.c,_clnt.c和_svc.c._clnt.c是stub,_svc.c是skelleton,对吗?
我明白他们介于2之间的沟通,但是如何呢?此外,我看到运行的示例有你指定要连接的机器的IP地址(在示例中它使用相同的,127.0.0.1),但是您没有指定端口.它有保留端口吗?
如果可以在发布表单之前执行此操作,那么我可能不必将文件上传到我的服务器......
使用SQL Server 2005及更高版本,如何使用TSQL检查用户密码何时过期?
优选地,这将使用针对同一用户的连接来完成.运行SQL语句需要什么权限?
这是我在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) 我使用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
我正在尝试配置IIS来解析.xml文件,就像解析.aspx文件一样.原因是我在<script>块中有一些c#代码,它会扫描一些文件夹然后吐出动态xml.
现在通常我只是在.aspx文件中执行此操作,并设置使用代码以获取xml数据的.aspx URL.但是,消费代码是一个遗留的.swf文件,它被硬编码为使用同名的.xml文件,我们无法访问源.fla文件.
我认为这很容易......但事实证明它比我想象的要困难.我已经进入IIS中的应用程序配置并添加了.xml的应用程序扩展名与.aspx(属性 - >主目录选项卡 - >配置)相同,但似乎有一些我缺少的东西,因为现在正在尝试加载.xml文件只是什么都不做,浏览器立即返回页面无法找到.
有谁知道如何让IIS和.Net框架解析我的.xml文件?
我一直试图扩展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)
没有成功,如果我使用类名后面的子对象它似乎工作,但由于某种原因隐藏子对象类中的方法.
任何有关如何使这项工作正常的想法或建议都值得赞赏.
是否可以在UITabBar中使用自定义颜色和背景图像?我意识到Apple希望每个人都使用相同的蓝色和灰色标签栏,但有没有办法自定义这个?
其次,即使我创建自己的TabBar视图控制器,以及自定义图像,这是否会违反Apple的人机界面指南?
java ×2
aes ×1
collections ×1
constraints ×1
credentials ×1
encryption ×1
extends ×1
flashdevelop ×1
iis ×1
iis-6 ×1
iphone ×1
javascript ×1
null ×1
nullable ×1
objective-c ×1
openssl ×1
oracle ×1
rpc ×1
ruby ×1
scala ×1
sha1 ×1
sql-server ×1
t-sql ×1
unique-index ×1