This Domain(Admin5.com) is for Sale:

一个生成Oracle用户密码的通用小程序

时间:2007-12-23  来源:不详  作者:迈克DB

  rem由于Oracle数据库用户密码不区分大小写,故,视所选择的起始字母,决定随机数
  rnd_base=90-start_asc
  ?
  rem打开文件,用于输出生成的改密码的脚本
  Open"c:change_pass.sql"ForOutputAs#1
  rem同时,在工作表上记录相应的密码,以便打印出来备作为记录,此处为先写标题
  Cells(1,1)="Username":Cells(1,2)="Password"
  Cells(1,3)="Username":Cells(1,4)="Password"
  rem先生成apps的密码,但脚本中加上注释,因apps密码必须与应用程序一起改
  rem先初始化密码串为空白
  temp_str=""
  Forbit_count=1Topass_length
  char_value=start_asc Int(Rnd(1)*rnd_base)
  rem此处为为防=号引起excel误认为是公式,从而程序出错。
  Ifchar_value=61Then
  char_value=62
  EndIf
  rem组合成密码
  temp_str=temp_str Chr$(char_value)
  Nextbit_count
  rem将生成的apps密码输出到脚本文件
  Print#1,"REMalteruserapps" "identifiedby" temp_str ";"
  rem同时,记录在工作表上
  Cells(2,3)="APPS":Cells(2,4)=temp_str
  rem需生成密码的用户名从row_num行开始

dedecms.com


  row_num=2
  rem若第一列非空,则创建密码,否则退出  DoWhileCells(row_num,1)<>""
  temp_str=""
  Forbit_count=1Topass_length
  char_value=start_asc Int(Rnd(1)*rnd_base)
  Ifchar_value=61Then
  char_value=62
  EndIf
  temp_str=temp_str Chr$(char_value)
  Nextbit_count
  Print#1,"alteruser" Cells(row_num,1) "identifiedby" temp_str
  Cells(row_num,2)=temp_str
  rem获取下一行
  row_num=row_num 1
  Loop
  rem所有用户的密码已生成,关闭文件
  Close#1
  EndSub
  ?
  Subgen_pass_unix()
  Dimbit_countasinteger’循环变量,密码中位数计数器
  dimrow_numasinteger’需生成密码的用户名信息开始的行号
  dimrnd_baseAsInteger’随机数种子
  Dimchar_valueAsInteger’密码中每个字符的ascii值
  Dimtemp_strAsString’密码串
  Dimusername(50)AsString’用户名
  dimpass_lengthasinteger’定义生成的密码的长度
  dimstart_ascasinteger’定义从哪个字符开始生成
  pass_length=8 本文来自织梦
  start_asc=48’0
  Remstart_asc=65’A
  rem由于unix密码支持大小写,故,视所选择的起始字母,决定随机数的范围,以确保
  rnd_base=122-start_asc
  ?
  rem打开文件,用于输出生成的改密码的脚本
  Open"c:change_pass.txt"ForOutputAs#1
  rem同时,在工作表上记录相应的密码,以便打印出来备作为记录,此处为先写标题
  Cells(1,3)="Username":Cells(1,4)="Password"
  row_num=2
  rem若第三列非空,则创建密码,否则退出  DoWhileCells(row_num,3)<>""
  temp_str=""
  Forbit_count=1Topass_length
  char_value=start_asc Int(Rnd(1)*rnd_base)
  rem91-94为[]^_`
  rem因不愿在unix密码串中包含该类字符,故,通过减少已增大的计数器以保证密码的长度,同时,不将其计入密码串中,以排除它们
  If(char_value>=58Andchar_value<=64)Or(char_value>=91Andchar_value<=96)Then
  bit_count=bit_count-1
  Else
  temp_str=temp_str Chr$(char_value)
  EndIf
  Nextbit_count

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息