26 9
![]()
在以前,用 Google Reader 此类在线 Feed 阅读器查看百度空间和新浪博客上的文章时,如果文章中含有图片,图片会显示为防盗链提示信息,要查看完整图片,必须打开原始页,并且有时只有刷新才能正常查看。
现在好了,百度空间在前一段时间取消了图片防盗链,新浪博客也于昨天取消了该措施。
Update:新浪博客似乎没有完全取消,有时还是无法在阅读器中正常显示图片。
25 9
MD5 和 SHA1 是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过 Delphi 或 PHP 这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果根据需要存储到数据库中。
但在某些情况下,可能需要在数据库端计算 MD5 和 SHA1 哈希值,比如说在存储过程或自定义函数内部。开源数据库 MySQL 就提供类似这样的内置函数,以下语句就可以分别显示字符串 “12345” 的 MD5 和 SHA1 值,返回结果为字符串型:
但 SQL Server 中没有直接提供类似这样的函数。在 SQL Server 2000 中,如果需要加密可以使用未文档化的 pwdencrypt() 和 pwdcompare() 函数来加密数据和比较结果,加密方式是微软自己的算法,随着 SQL Server 版本的升级,函数的加密结果可能也会有所不同。
不过在 SQL Server 2005 中,微软提供了一个函数 hashbytes() 可以用来计算一个字符串的 MD5 和 SHA1 值,以下语句分别获得字符串 “12345” 的 MD5 和 SHA1:
hashbytes() 函数的返回结果是 varbinary 型,也就是以 0x 开头 16 进制形式的二进制数据,不过通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用 CAST 或 Convert 函数将varbinary 转换为 varchar,但这样转换后的结果会是乱码,正确转换 varbinary 可变长度二进制型数据到 16 进制字符串应该使用系统内置函数 sys.fn_VarBinToHexStr(),如下所示:
sys.fn_varBinToHexStr() 函数只在 SQL Server 2005 中有效,在 SQL Server 2000 中实现相同功能使用系统扩展存储过程:master..xp_varBinToHexStr 。
23 9
FastReport 是用于 Delphi 和 C++ Builder 的一个功能非常强大的报表组件,其最新版本 FastReport 4.4 发布,主要有以下功能和改进:
除了添加以上功能和改进之外,FastReport 4.4 同时修正了之前版本的多处 Bug。