中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > IBM Server
(如何在iSeries(AS/400)將资料加密(ZT)
作者:未知 时间:2005-09-13 15:45 出处:ChinaUnix.net 责编:chinaitpower
              摘要:(如何在iSeries(AS/400)將资料加密(ZT)

系統本身仅提供单向资料加密 API _CIPHER
File  : QRPGLESRC
Member: CIPHERR
Type  : RPGLE
Usage : CRTBNDRPG PGM(CIPHERR) DFTACTGRP(*NO)
CALL CIPHERR ('1234567890123456' '12345678' '                ')
第一個參數是原始資料且長度必須是 8 的倍數,第二個參數是加密的Key, 第三個參數是加密後的資料, 資料長度須與原始資料長度一樣.

      *
      *  Function 2 -> Encrypt; detail refference SC41-5810 _CIPHER function
      *  function _CIPHER provides one-way encryption
      *  Apr. 2002
      *
     D PlainText       S               *
     D CipherText      S               *
     D Controls        DS            32
     D   Function                     5I 0 inz(2)
     D   Length                       5I 0 inz(%size(UserID))
     D   CBC_Mode                     1A   inz(X'40')
     D   SecretKey                    1A   dim(8)
     D   Reserved_1                   1A   inz(*loval)
     D   InitChain                    8A   inz(X'5555555555555555')
     D   Reserved_2                  10A   inz(*loval)

     C     *entry        plist
     C                   parm                    UserID           16
     C                   parm                    Password          8
     C                   parm                    Encrypted        16

     C                   movea     Password      SecretKey
     C     1             do        8             X                 5 0
     C                   testb     X'81'         SecretKey(X)           21
     C   21            biton     X'80'         SecretKey(X)
     C  N21           bitoff    X'80'          SecretKey(X)
     C                   enddo
     C                   eval      PlainText  = %addr(UserID)
     C                   eval      CipherText = %addr(Encrypted)
     C                   callb     '_CIPHER'
     C                   parm                    CipherText
     C                   parm                    Controls
     C                   parm                    PlainText
     C     Encrypted     Dsply

     C                   move      *on           *INLR

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有