科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道生成Oracle用户密码的通用小程序

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

做为Unix 系统管理员,Oracle 数据库管理员,Oracle ERP 应用系统管理员,需要不定期地更改各系统中重要用户的密码,以保证系统及数据的安全。

作者:51CTO.COM 2007年10月18日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  Dim bit_count as integer '循环变量, 密码中位数计数器

  dim row_num as integer '需生成密码的用户名信息开始的行号

  dim rnd_base As Integer '随机数种子

  Dim char_value As Integer '密码中每个字符的 ascii 值

  Dim temp_str As String '密码串

  Dim username(50) As String '用户名

  dim pass_length as integer '定义生成的密码的长度

  dim start_asc as integer ' 定义从哪个字符开始生成

  pass_length = 8

  start_asc = 48 ' 0

  Rem start_asc = 65 ' A

  rem 由于 unix 密码支持大小写,故,视所选择的起始字母,决定随机数的范围,以确保

  rnd_base = 122 - start_asc

  ?

  rem 打开文件,用于输出生成的改密码的脚本

  Open "c:change_pass.txt" For Output As #1

  rem 同时,在工作表上记录相应的密码,以便打印出来备作为记录,此处为先写标题

  Cells(1, 3) = "Username": Cells(1, 4) = "Password"

  row_num = 2

  rem 若第三列非空,则创建密码,否则退出 Do While Cells(row_num, 3) <>""

  temp_str = ""

  For bit_count = 1 To pass_length

  char_value = start_asc + Int(Rnd(1) * rnd_base)

  rem 91-94 为 [ ] ^ _ `

  rem 因不愿在unix 密码串中包含该类字符,故,通过减少已增大的计数器以保证密码的

  长度,同时,不将其计入密码串中,以排除它们

  If (char_value >= 58 And char_value <= 64) Or (char_value >= 91 And char_value <= 96) Then

  bit_count = bit_count - 1

  Else

  temp_str = temp_str + Chr$(char_value)

  End If

  Next bit_count

  Print #1, "user " + Cells(row_num, 1) + " : " + temp_str

  Cells(row_num, 4) = temp_str

  rem 获取下一行

  row_num = row_num + 1

  Loop

  rem 所有用户的密码已生成,关闭文件

  Close #1

  End Sub

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章