按月存档:2007年9月

百度空间和新浪博客取消了图片防盗链措施

百度空间 新浪博客

在以前,用 Google Reader 此类在线 Feed 阅读器查看百度空间和新浪博客上的文章时,如果文章中含有图片,图片会显示为防盗链提示信息,要查看完整图片,必须打开原始页,并且有时只有刷新才能正常查看。

现在好了,百度空间在前一段时间取消了图片防盗链,新浪博客也于昨天取消了该措施。

Update:新浪博客似乎没有完全取消,有时还是无法在阅读器中正常显示图片。

SQL Server 数据库中的 MD5 和 SHA1

(SQL Server)MD5 和 SHA1 是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过 Delphi 或 PHP 这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果根据需要存储到数据库中。

但在某些情况下,可能需要在数据库端计算 MD5 和 SHA1 哈希值,比如说在存储过程或自定义函数内部。开源数据库 MySQL 就提供类似这样的内置函数,以下语句就可以分别显示字符串 “12345” 的 MD5 和 SHA1 值,返回结果为字符串型:

select md5(’12345′);
select sha1(’12345′);

但 SQL Server 中没有直接提供类似这样的函数。在 SQL Server 2000 中,如果需要加密可以使用未文档化的 pwdencrypt() pwdcompare() 函数来加密数据和比较结果,加密方式是微软自己的算法,随着 SQL Server 版本的升级,函数的加密结果可能也会有所不同。

不过在 SQL Server 2005 中,微软提供了一个函数 hashbytes() 可以用来计算一个字符串的 MD5 和 SHA1 值,以下语句分别获得字符串 “12345” 的 MD5 和 SHA1:

select hashbytes(’MD5′, ‘12345′) ;
select hashbytes(’SHA1′, ‘12345′) ;

hashbytes() 函数的返回结果是 varbinary 型,也就是以 0x 开头 16 进制形式的二进制数据,不过通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用 CAST 或 Convert 函数将varbinary 转换为 varchar,但这样转换后的结果会是乱码,正确转换 varbinary 可变长度二进制型数据到 16 进制字符串应该使用系统内置函数 sys.fn_VarBinToHexStr(),如下所示:

select sys.fn_VarBinToHexStr(hashbytes(’MD5′, ‘12345′))

sys.fn_varBinToHexStr() 函数只在 SQL Server 2005 中有效,在 SQL Server 2000 中实现相同功能使用系统扩展存储过程:master..xp_varBinToHexStr

FastReport 4.4 发布

(FastReport)FastReport 是用于 Delphi 和 C++ Builder 的一个功能非常强大的报表组件,其最新版本 FastReport 4.4 发布,主要有以下功能和改进:

  • 支持 CodeGear RAD Studio 2007;
  • 改进 PDF, HTML, RTF, XML, ODS, ODT 导出速度;
  • 添加属性 TfrxReportPage.BackPictureVisible, BackPicturePrintable,控制报表页面背景图像是否可见和是否打印;
  • 添加 TfrxCrossView.CellFunctions 属性的运行时类型信息;
  • 添加属性 TfrxPDFExport.Keywords, TfrxPDFExport.Producer, TfrxPDFExport.HideToolbar, frxPDFExport.HideMenubar, TfrxPDFExport.HideWindowUI, TfrxPDFExport.FitWindow,
    TfrxPDFExport.CenterWindow, TfrxPDFExport.PrintScaling,用来设置和获取 PDF 导出的信息;
  • 可以在 “recompile wizard” 中重新编译 frxFIB 包;
  • 可以设置 teechart series 的颜色属性;
  • 可设置 Style Editor 中每个框架线的框架风格;
  • 添加了 TfrxPreview.Locked 属性和 TfrxPreview.DblClick 事件;
  • 当载入没有加密的报表时产生 ‘invalid password’ 异常;
  • 为 InheritFromTemplate 添加新的参数 (缺省值 = imDefault) imDefault - 显示错误对话框, imDelete - 删除重复项, imRename - 重命名重复项;
  • 添加属性 TfrxRTFExport.AutoSize (缺省值为 “False”) 用以设置表格单元格的垂直自动伸缩;
  • 重新设计了 PDF 导出的对话框;
  • 改进了 PDF 导出的 WYSIWYG;

除了添加以上功能和改进之外,FastReport 4.4 同时修正了之前版本的多处 Bug。

  • 3 评论
  • 分类: Delphi

  • 链接


    存档


    管理


    广告