SHA-1 Algorythmus

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: SHA-1 Algorythmus

BeitragDi, März 10, 2009 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Ich benötige derzeit für meine Anwendung den Sha-1 algorythmus, den ich bisher nur für bmax auf blitzbasic.com gefunden habe.
Hat den wer für BB? wäre nett wenn er diesen posten würde.
(Für Key und Passwörter verschlüsseln)
Warbseite

The_Nici

BeitragDi, März 10, 2009 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Wikipedia kennt ihn, und du kannst ihn nachprogrammieren:
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm
Jedoch Achtung: Der Hash wurde geknackt!
Wenn du ein Passwort in einer DB speichern willst, nimm MD5.
MfG

Xaymar

ehemals "Cgamer"

BeitragDi, März 10, 2009 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist eigentlich für MySQl gedacht, da es bei der passwort übergabe SHA-1 verwendet(mit hash?!?)

hier mal ein wenig Code wie weit ich bin, das von wikipedia braucht 64bit. mir fällt auf anhieb nicht ein wie man es lösen könnte.

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
msec = MilliSecs()
TCPS = OpenTCPStream("localhost", 3306)
Print "Msec taken to connect: "+(MilliSecs()-msec)
If TCPS <> 0
   Delay 100
   If Not Eof(TCPS)
      ;Basics
      BodyLength = ReadInt24New(TCPS)
      Packet     = ReadByte(TCPS)
      Protocol   = ReadByte(TCPS)
      
      ;MySql
      MySQLV$  = ReadStringNew(TCPS)
      ThreadID = ReadInt32New(TCPS)
      SaltP1$  = ReadStringNew(TCPS)
      Flags    = ReadShortNew(TCPS)
      Charset  = ReadByte(TCPS)
      Status   = ReadShortNew(TCPS)
      For A = 0 To 12               ;13 unused Bytes
         ReadByte(TCPS)
      Next
      SaltP2$  = ReadStringNew(TCPS)
      
      Print "Body Length:    "+BodyLength
      Print "Packet Nr:      "+Packet
      Print "Protocol:       "+Protocol
      Print "MySQL Version:  "+MySQLV$
      Print "Thread ID:      "+ThreadID
      Print "Salt Part 1:    "+SaltP1$
      Print "Flags:          "+Flags
      Print "Buchstaben-Set: "+Charset
      Print "Status:         "+Status
      Print "Salt Part 2:    "+SaltP2$
      
      ;Authenticate
      pw = Sha1(Pass$, SaltP1$+SaltP2$)
      pwlen = Len(pw)
      WriteInt24New TCPS, 1+4+4+1+23+Len(User$)+1+1+pwlen
      WriteByte TCPS, 1
      WriteInt32New TCPS, (1+4+8192+512+1024+128+65536+131072)
      WriteInt32New TCPS, 16*1024*1024
      WriteByte TCPS, 31
      For A = 0 To 23
         WriteByte TCPS, 0
      Next
      WriteStringNew TCPS, User$
      WriteByte TCPS, pwlen
      writeStringNew TCPS,
      
   EndIf
   WriteLine TCPS, "QUIT"
   CloseTCPStream TCPS
   WaitKey()
   End
Else
   Print "Could not connect."
   WaitKey()
   End
EndIf

;Flags:
;LONG_PASSWORD      1      New more secure passwords
;FOUND_ROWS         2      Found instead of affected rows
;LONG_FLAG         4      Get all column flags
;CONNECT_WITH_DB      8      One can specify db on connect
;NO_SCHEMA         16      Don't allow database.table.column
;COMPRESS            32      Can use compression protocol
;ODBC            64      ODBC client
;LOCAL_FILES         128      Can use LOAD Data Local
;IGNORE_SPACE         256      Ignore spaces Before '('
;PROTOCOL_41         512      Support the 4.1 protocol
;INTERACTIVE         1024      This is an interactive client
;SSL               2048      Switch To SSL After handshake
;IGNORE_SIGPIPE      4096      IGNORE sigpipes
;TRANSACTIONS         8192      Client knows about transactions
;SECURE_CONNECTION      32768   New 4.1 authentication
;MULTI_STATEMENTS      65536   Multi-statement support
;MULTI_RESULTS      131072   Multi-results

;Charsets:
;big5_chinese_ci      1   latin1_general_cs   49
;latin2_czech_cs      2   cp1251_bin      50
;dec8_swedish_ci      3   cp1251_general_ci   51
;cp850_general_ci      4   cp1251_general_cs   52
;latin1_german1_ci      5   macroman_bin      53
;hp8_english_ci      6   macroman_ci      54
;koi8r_general_ci      7   macroman_ci_ai   55
;latin1_swedish_ci      8   macroman_cs      56
;latin2_general_ci      9   cp1256_general_ci   57
;swe7_swedish_ci      10   cp1257_bin      58
;ascii_general_ci      11   cp1257_general_ci   59
;ujis_japanese_ci      12   cp1257_ci         60
;sjis_japanese_ci      13   cp1257_cs         61
;cp1251_bulgarian_ci   14   binary         63
;latin1_danish_ci      15   armscii8_bin      64
;hebrew_general_ci      16   ascii_bin         65
;tis620_thai_ci      18   cp1250_bin      66
;euckr_korean_ci      19   cp1256_bin      67
;latin7_estonian_cs   20   cp866_bin         68
;latin2_hungarian_ci   21   dec8_bin         69
;koi8u_general_ci      22   greek_bin         70
;cp1251_ukrainian_ci   23   hebrew_bin      71
;gb2312_chinese_ci      24   hp8_bin         72
;greek_general_ci      25   keybcs2_bin      73
;cp1250_general_ci      26   koi8r_bin         74
;latin2_croatian_ci   27   koi8u_bin         75
;gbk_chinese_ci      28   latin2_bin      77
;cp1257_lithuanian_ci   29   latin5_bin      78
;latin5_turkish_ci      30   latin7_bin      79
;latin1_german2_ci      31   cp850_bin         80
;armscii8_general_ci   32   cp852_bin         81
;utf8_general_ci      33   swe7_bin         82
;cp1250_czech_cs      34   utf8_bin         83
;ucs2_general_ci      35   big5_bin         84
;cp866_general_ci      36   euckr_bin         85
;keybcs2_general_ci   37   gb2312         86
;macce_general_ci      38   gbk_bin         87
;macroman_general_ci   39   sjis_bin         88
;cp852_general_ci      40   tis620_bin      89
;latin7_general_ci      41   ucs2_bin         90
;latin7_general_cs      42   ujis_bin         91
;macce_bin         43   geostd8_general_ci   92
;latin1_bin         47   geostd8_bin      93
;latin1_general_ci      48   latin1_spanish_ci   94

;Status Codes:
;IN_TRANS               1
;AUTOCOMMIT            2
;MORE_RESULTS            4
;MORE_RESULTS_EXISTS      8
;QUERY_NO_GOOD_INDEX_USED   16
;QUERY_NO_INDEX_USED      32

;Commands:
;Command         Code   Arguments               Allowed from client
;SLEEP         0                     No
;QUIT         1   ""                  Yes
;INIT_DB         2   db                  Yes
;QUERY         3   query               Yes
;FIELD_LIST      4   table               Yes
;CREATE_DB      5   db                  Yes
;DROP_DB         6   db                  Yes
;REFRESH         7   option bits            Yes
;SHUTDOWN         8   level (optional)         Yes
;STATISTICS      9                     Yes
;PROCESS_INFO      10                     Yes
;CONNECT         11                     No
;PROCESS_KILL      12   4-byte pid            Yes
;DEBUG         13                     Yes
;PING         14                     Yes
;TIME         15                     No
;DELAYED_INSERT   16                     No
;CHANGE_USER      17   user                  Yes
;BINLOG_DUMP      18                     Yes
;TABLE_DUMP      19                     Yes
;CONNECT_OUT      20                     No
;REGISTER_SLAVE   21                     No
;PREPARE         22   query               Yes
;EXECUTE         23   statement; params         Yes
;LONG_DATA      24   statement; parameter; data   Yes
;CLOSE_STMT      25   statement               Yes
;RESET_STMT      26   statement               Yes
;SET_OPTION      27   2 byte flags            Yes

;Field Types:
;DECIMAL      0
;TINY      1
;SHORT      2
;LONG      3
;Float      4
;DOUBLE      5
;Null      6
;TIMESTAMP   7
;LONGLONG      8
;INT24      9
;DATE      10
;TIME      11
;DATETIME      12
;YEAR      13
;NEWDATE      14
;ENUM      247
;SET         248
;TINY_BLOB   249
;MEDIUM_BLOB   250
;LONG_BLOB   251
;BLOB      252
;VAR_STRING   253
;String      254
;GEOMETRY      255

;Field Flags:
;NOT_NULL         1      Field can't be NULL
;PRI_KEY         2      Field is part of a primary key
;UNIQUE_KEY      4      Field is part of a unique key
;MULTIPLE_KEY      8      Field is part of a key
;BLOB         16      Field is a blob
;UNSIGNED         32      Field is unsigned
;ZEROFILL         64      Field is zerofill
;BINARY         128      Field is binary
;ENUM         256      Field is an enum
;AUTO_INCREMENT   512      Field is an autoincrement Field
;TIMESTAMP      1024      Field is a timestamp
;SET            2048      Field is a set
;NUM            32768   Field is num (For clients)

;Error Codes:
;HASHCHK                  1000   ABORTING_CONNECTION            1152
;NISAMCHK                  1001   NET_PACKET_TOO_LARGE            1153
;NO                     1002   NET_READ_ERROR_FROM_PIPE         1154
;YES                     1003   NET_FCNTL_ERROR               1155
;CANT_CREATE_FILE            1004   NET_PACKETS_OUT_OF_ORDER         1156
;CANT_CREATE_TABLE            1005   NET_UNCOMPRESS_ERROR            1157
;CANT_CREATE_DB            1006   NET_READ_ERROR               1158
;DB_CREATE_EXISTS            1007   NET_READ_INTERRUPTED            1159
;DB_DROP_EXISTS            1008   NET_ERROR_ON_WRITE               1160
;DB_DROP_DELETE            1009   NET_WRITE_INTERRUPTED            1161
;DB_DROP_RMDIR            1010   TOO_LONG_STRING               1162
;CANT_DELETE_FILE            1011   TABLE_CANT_HANDLE_BLOB            1163
;CANT_FIND_SYSTEM_REC         1012   TABLE_CANT_HANDLE_AUTO_INCREMENT   1164
;CANT_GET_STAT            1013   DELAYED_INSERT_TABLE_LOCKED         1165
;CANT_GET_WD               1014   WRONG_COLUMN_NAME               1166
;CANT_LOCK               1015   WRONG_KEY_COLUMN               1167
;CANT_OPEN_FILE            1016   WRONG_MRG_TABLE               1168
;FILE_NOT_FOUND            1017   DUP_UNIQUE                  1169
;CANT_READ_DIR            1018   BLOB_KEY_WITHOUT_LENGTH         1170
;CANT_SET_WD               1019   PRIMARY_CANT_HAVE_NULL            1171
;CHECKREAD               1020   TOO_MANY_ROWS                  1172
;DISK_FULL               1021   REQUIRES_PRIMARY_KEY            1173
;DUP_KEY                  1022   NO_RAID_COMPILED               1174
;ERROR_ON_CLOSE            1023   UPDATE_WITHOUT_KEY_IN_SAFE_MODE      1175
;ERROR_ON_READ            1024   KEY_DOES_NOT_EXITS               1176
;ERROR_ON_RENAME            1025   CHECK_NO_SUCH_TABLE            1177
;ERROR_ON_WRITE            1026   CHECK_NOT_IMPLEMENTED            1178
;FILE_USED               1027   CANT_DO_THIS_DURING_AN_TRANSACTION   1179
;FILSORT_ABORT            1028   ERROR_DURING_COMMIT            1180
;FORM_NOT_FOUND            1029   ERROR_DURING_ROLLBACK            1181
;GET_ERRNO               1030   ERROR_DURING_FLUSH_LOGS         1182
;ILLEGAL_HA               1031   ERROR_DURING_CHECKPOINT         1183
;KEY_NOT_FOUND            1032   NEW_ABORTING_CONNECTION         1184
;NOT_FORM_FILE            1033   DUMP_NOT_IMPLEMENTED            1185
;NOT_KEYFILE               1034   FLUSH_MASTER_BINLOG_CLOSED         1186
;OLD_KEYFILE               1035   INDEX_REBUILD                  1187
;OPEN_AS_READONLY            1036   MASTER                     1188
;OUTOFMEMORY               1037   MASTER_NET_READ               1189
;OUT_OF_SORTMEMORY            1038   MASTER_NET_WRITE               1190
;UNEXPECTED_EOF            1039   FT_MATCHING_KEY_NOT_FOUND         1191
;CON_COUNT_ERROR            1040   LOCK_OR_ACTIVE_TRANSACTION         1192
;OUT_OF_RESOURCES            1041   UNKNOWN_SYSTEM_VARIABLE         1193
;BAD_HOST_ERROR            1042   CRASHED_ON_USAGE               1194
;HANDSHAKE_ERROR            1043   CRASHED_ON_REPAIR               1195
;DBACCESS_DENIED_ERROR         1044   WARNING_NOT_COMPLETE_ROLLBACK      1196
;ACCESS_DENIED_ERROR         1045   TRANS_CACHE_FULL               1197
;NO_DB_ERROR               1046   SLAVE_MUST_STOP               1198
;UNKNOWN_COM_ERROR            1047   SLAVE_NOT_RUNNING               1199
;BAD_NULL_ERROR            1048   BAD_SLAVE                     1200
;BAD_DB_ERROR               1049   MASTER_INFO                  1201
;TABLE_EXISTS_ERROR         1050   SLAVE_THREAD                  1202
;BAD_TABLE_ERROR            1051   TOO_MANY_USER_CONNECTIONS         1203
;NON_UNIQ_ERROR            1052   SET_CONSTANTS_ONLY               1204
;SERVER_SHUTDOWN            1053   LOCK_WAIT_TIMEOUT               1205
;BAD_FIELD_ERROR            1054   LOCK_TABLE_FULL               1206
;WRONG_FIELD_WITH_GROUP      1055   READ_ONLY_TRANSACTION            1207
;WRONG_GROUP_FIELD            1056   DROP_DB_WITH_READ_LOCK            1208
;WRONG_SUM_SELECT            1057   CREATE_DB_WITH_READ_LOCK         1209
;WRONG_VALUE_COUNT            1058   WRONG_ARGUMENTS               1210
;TOO_LONG_IDENT            1059   NO_PERMISSION_TO_CREATE_USER      1211
;DUP_FIELDNAME            1060   UNION_TABLES_IN_DIFFERENT_DIR      1212
;DUP_KEYNAME               1061   LOCK_DEADLOCK                  1213
;DUP_ENTRY               1062   TABLE_CANT_HANDLE_FT            1214
;WRONG_FIELD_SPEC            1063   CANNOT_ADD_FOREIGN               1215
;PARSE_ERROR               1064   NO_REFERENCED_ROW               1216
;EMPTY_QUERY               1065   ROW_IS_REFERENCED               1217
;NONUNIQ_TABLE            1066   CONNECT_TO_MASTER               1218
;INVALID_DEFAULT            1067   QUERY_ON_MASTER               1219
;MULTIPLE_PRI_KEY            1068   ERROR_WHEN_EXECUTING_COMMAND      1220
;TOO_MANY_KEYS            1069   WRONG_USAGE                  1221
;TOO_MANY_KEY_PARTS         1070   WRONG_NUMBER_OF_COLUMNS_IN_SELECT   1222
;TOO_LONG_KEY               1071   CANT_UPDATE_WITH_READLOCK         1223
;KEY_COLUMN_DOES_NOT_EXITS      1072   MIXING_NOT_ALLOWED               1224
;BLOB_USED_AS_KEY            1073   DUP_ARGUMENT                  1225
;TOO_BIG_FIELDLENGTH         1074   USER_LIMIT_REACHED               1226
;WRONG_AUTO_KEY            1075   SPECIFIC_ACCESS_DENIED_ERROR      1227
;READY                  1076   LOCAL_VARIABLE               1228
;NORMAL_SHUTDOWN            1077   GLOBAL_VARIABLE               1229
;GOT_SIGNAL               1078   NO_DEFAULT                  1230
;SHUTDOWN_COMPLETE            1079   WRONG_VALUE_FOR_VAR            1231
;FORCING_CLOSE            1080   WRONG_TYPE_FOR_VAR               1232
;IPSOCK_ERROR               1081   VAR_CANT_BE_READ               1233
;NO_SUCH_INDEX            1082   CANT_USE_OPTION_HERE            1234
;WRONG_FIELD_TERMINATORS      1083   NOT_SUPPORTED_YET               1235
;BLOBS_AND_NO_TERMINATED      1084   MASTER_FATAL_ERROR_READING_BINLOG   1236
;TEXTFILE_NOT_READABLE         1085   SLAVE_IGNORED_TABLE            1237
;FILE_EXISTS_ERROR            1086   INCORRECT_GLOBAL_LOCAL_VAR         1238
;LOAD_INFO               1087   WRONG_FK_DEF                  1239
;ALTER_INFO               1088   KEY_REF_DO_NOT_MATCH_TABLE_REF      1240
;WRONG_SUB_KEY            1089   OPERAND_COLUMNS               1241
;CANT_REMOVE_ALL_FIELDS      1090   SUBQUERY_NO_1_ROW               1242
;CANT_DROP_FIELD_OR_KEY      1091   UNKNOWN_STMT_HANDLER            1243
;INSERT_INFO               1092   CORRUPT_HELP_DB               1244
;UPDATE_TABLE_USED            1093   CYCLIC_REFERENCE               1245
;NO_SUCH_THREAD            1094   AUTO_CONVERT                  1246
;KILL_DENIED_ERROR            1095   ILLEGAL_REFERENCE               1247
;NO_TABLES_USED            1096   DERIVED_MUST_HAVE_ALIAS         1248
;TOO_BIG_SET               1097   SELECT_REDUCED               1249
;NO_UNIQUE_LOGFILE            1098   TABLENAME_NOT_ALLOWED_HERE         1250
;TABLE_NOT_LOCKED_FOR_WRITE      1099   NOT_SUPPORTED_AUTH_MODE         1251
;TABLE_NOT_LOCKED            1100   SPATIAL_CANT_HAVE_NULL            1252
;BLOB_CANT_HAVE_DEFAULT      1101   COLLATION_CHARSET_MISMATCH         1253
;WRONG_DB_NAME            1102   SLAVE_WAS_RUNNING               1254
;WRONG_TABLE_NAME            1103   SLAVE_WAS_NOT_RUNNING            1255
;TOO_BIG_SELECT            1104   TOO_BIG_FOR_UNCOMPRESS            1256
;UNKNOWN_ERROR            1105   ZLIB_Z_MEM_ERROR               1257
;UNKNOWN_PROCEDURE            1106   ZLIB_Z_BUF_ERROR               1258
;WRONG_PARAMCOUNT_TO_PROCEDURE   1107   ZLIB_Z_DATA_ERROR               1259
;WRONG_PARAMETERS_TO_PROCEDURE   1108   CUT_VALUE_GROUP_CONCAT            1260
;UNKNOWN_TABLE            1109   WARN_TOO_FEW_RECORDS            1261
;FIELD_SPECIFIED_TWICE         1110   WARN_TOO_MANY_RECORDS            1262
;INVALID_GROUP_FUNC_USE      1111   WARN_NULL_TO_NOTNULL            1263
;UNSUPPORTED_EXTENSION         1112   WARN_DATA_OUT_OF_RANGE            1264
;TABLE_MUST_HAVE_COLUMNS      1113   WARN_DATA_TRUNCATED            1265
;RECORD_FILE_FULL            1114   WARN_USING_OTHER_HANDLER         1266
;UNKNOWN_CHARACTER_SET         1115   CANT_AGGREGATE_2COLLATIONS         1267
;TOO_MANY_TABLES            1116   DROP_USER                     1268
;TOO_MANY_FIELDS            1117   REVOKE_GRANTS                  1269
;TOO_BIG_ROWSIZE            1118   CANT_AGGREGATE_3COLLATIONS         1270
;STACK_OVERRUN            1119   CANT_AGGREGATE_NCOLLATIONS         1271
;WRONG_OUTER_JOIN            1120   VARIABLE_IS_NOT_STRUCT            1272
;NULL_COLUMN_IN_INDEX         1121   UNKNOWN_COLLATION               1273
;CANT_FIND_UDF            1122   SLAVE_IGNORED_SSL_PARAMS         1274
;CANT_INITIALIZE_UDF         1123   SERVER_IS_IN_SECURE_AUTH_MODE      1275
;UDF_NO_PATHS               1124   WARN_FIELD_RESOLVED            1276
;UDF_EXISTS               1125   BAD_SLAVE_UNTIL_COND            1277
;CANT_OPEN_LIBRARY            1126   MISSING_SKIP_SLAVE               1278
;CANT_FIND_DL_ENTRY         1127   UNTIL_COND_IGNORED               1279
;FUNCTION_NOT_DEFINED         1128   WRONG_NAME_FOR_INDEX            1280
;HOST_IS_BLOCKED            1129   WRONG_NAME_FOR_CATALOG            1281
;HOST_NOT_PRIVILEGED         1130   WARN_QC_RESIZE               1282
;PASSWORD_ANONYMOUS_USER      1131   BAD_FT_COLUMN                  1283
;PASSWORD_NOT_ALLOWED         1132   UNKNOWN_KEY_CACHE               1284
;PASSWORD_NO_MATCH            1133   WARN_HOSTNAME_WONT_WORK         1285
;UPDATE_INFO               1134   UNKNOWN_STORAGE_ENGINE            1286
;CANT_CREATE_THREAD         1135   WARN_DEPRECATED_SYNTAX            1287
;WRONG_VALUE_COUNT_ON_ROW      1136   NON_UPDATABLE_TABLE            1288
;CANT_REOPEN_TABLE            1137   FEATURE_DISABLED               1289
;INVALID_USE_OF_NULL         1138   OPTION_PREVENTS_STATEMENT         1290
;REGEXP_ERROR               1139   DUPLICATED_VALUE_IN_TYPE         1291
;MIX_OF_GROUP_FUNC_AND_FIELDS   1140   TRUNCATED_WRONG_VALUE            1292
;NONEXISTING_GRANT            1141   TOO_MUCH_AUTO_TIMESTAMP_COLS      1293
;TABLEACCESS_DENIED_ERROR      1142   INVALID_ON_UPDATE               1294
;COLUMNACCESS_DENIED_ERROR      1143   UNSUPPORTED_PS               1295
;ILLEGAL_GRANT_FOR_TABLE      1144   GET_ERRMSG                  1296
;GRANT_WRONG_HOST_OR_USER      1145   GET_TEMPORARY_ERRMSG            1297
;NO_SUCH_TABLE            1146   UNKNOWN_TIME_ZONE               1298
;NONEXISTING_TABLE_GRANT      1147   WARN_INVALID_TIMESTAMP            1299
;NOT_ALLOWED_COMMAND         1148   INVALID_CHARACTER_STRING         1300
;SYNTAX_ERROR               1149   WARN_ALLOWED_PACKET_OVERFLOWED      1301
;DELAYED_CANT_CHANGE_LOCK      1150   CONFLICTING_DECLARATIONS         1302
;TOO_MANY_DELAYED_THREADS      1151

Function WriteStringNew(Stream, Strng$)
   If Stream <> 0
      Ln = Len(Strng$)
      For Pos = 1 To Ln
         WriteByte Stream, Asc(Mid(Strng$, Pos, 1))
      Next
      WriteByte Stream, 0
      Return 1
   Else
      Return 0
   EndIf
End Function

Function WriteFloatNew(F#)            ;NOT REALLY WORKING(Min=.00000001/0, Max= UNKNOWN)
   If Stream <> 0
      Byte1 = F# And $FF
      Byte2 = ((F# And $FF00) Shl 8)
      Byte3 = ((F# And $FF0000) Shl 16)
      Byte4 = ((F# And $FF000000) Shl 24)
      WriteByte Stream, Byte1
      WriteByte Stream, Byte2
      WriteByte Stream, Byte3
      WriteByte Stream, Byte4
      Return 1
   Else
      Return 0
   EndIf
End Function

Function WriteInt32New(Stream, Int32)   ;Min=0, Max=4294967296
   If Stream <> 0               ;BB: Min=-2147483647, Max=2147483648   (Not Sure)
      Byte1 = Int32 And $FF
      Byte2 = ((Int32 And $FF00) Shl 8)
      Byte3 = ((Int32 And $FF0000) Shl 16)
      Byte4 = ((Int32 And $FF000000) Shl 24)
      WriteByte Stream, Byte1
      WriteByte Stream, Byte2
      WriteByte Stream, Byte3
      WriteByte Stream, Byte4
      Return 1
   Else
      Return 0
   EndIf
End Function

Function WriteInt24New(Stream, Int24)   ;Min=0, Max=16777216
   If Stream <> 0               ;BB: Min=-8388607, Max=8388608      (Not Sure)
      Byte1 = Int32 And $FF
      Byte2 = ((Int32 And $FF00) Shl 8)
      Byte3 = ((Int32 And $FF0000) Shl 16)
      WriteByte Stream, Byte1
      WriteByte Stream, Byte2
      WriteByte Stream, Byte3
      Return 1
   Else
      Return 0
   EndIf
End Function

Function WriteShortNew(Stream, Short)   ;Min=0, Max=65535
   If Stream <> 0               ;BB: Min=-32767, Max=32768         (Not Sure)
      Byte1 = Int32 And $FF
      Byte2 = ((Int32 And $FF00) Shl 8)
      WriteByte Stream, Byte1
      WriteByte Stream, Byte2
      Return 1
   Else
      Return 0
   EndIf
End Function

Function ReadStringNew$(Stream)
   While Not Eof(Stream)
      Byte = ReadByte(Stream)
      If Byte > 0
         Out$ = Out$ + Chr(Byte)
      Else
         Return Out$
      EndIf
   Wend
   Return -1
End Function

Function ReadFloatNew#(Stream)   ;NOT REALLY WORKING(Min=0, Max=UNKNOWN)
   Byte1 = ReadByte(Stream)
   Byte2 = ReadByte(Stream)
   Byte3 = ReadByte(Stream)
   Byte4 = ReadByte(Stream)
   F# = (Byte4 Shr 24) Or (Byte3 Shr 16) Or (Byte2 Or 8) Or Byte1
   Return F#
End Function

Function ReadInt32New(Stream)   ;Min=0, Max=2147483648
   Byte1 = ReadByte(Stream)   ;BB: Min=-2147483648, Max=2147483647   (Not Sure)
   Byte2 = ReadByte(Stream)
   Byte3 = ReadByte(Stream)
   Byte4 = ReadByte(Stream)
   Integ = (Byte4 Shr 24) Or (Byte3 Shr 16) Or (Byte2 Or 8) Or Byte1
   Return Integ
End Function

Function ReadInt24New(Stream)   ;Min=0, Max=16777216
   Byte1 = ReadByte(Stream)   ;BB: Min=-8388607, Max=8388608      (Not Sure)
   Byte2 = ReadByte(Stream)
   Byte3 = ReadByte(Stream)
   Integ = (Byte3 Shr 16) Or (Byte2 Shr 8) Or Byte1
   Return Integ
End Function

Function ReadShortNew(Stream)   ;Min=0, Max=65535
   Byte1 = ReadByte(Stream)   ;BB: Min=-32767, Max=32768         (Not Sure)
   Byte2 = ReadByte(Stream)
   Short = (Byte2 Shr 8) Or Byte1
   Return Short
End Function


^Dazu brauch ich Sha-1^

*EDIT* http://blitzbasic.com/codearcs...?code=1449
was ist der ".." Operator? Was macht dieser?
Warbseite

ComNik

BeitragMi, März 11, 2009 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
wie wärs den mit Blofish?
kannste auch auf Wikipedia finden!

MFG ComNik
WIP: Vorx.Engine

Xaymar

ehemals "Cgamer"

BeitragMi, März 11, 2009 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
wär schon wenn ich den in MySQL nutzen könnte xD

MySQL will leider SHA-1 verschlüsselung von Passwörtern
Warbseite

BtbN

BeitragMi, März 11, 2009 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici hat Folgendes geschrieben:
Wikipedia kennt ihn, und du kannst ihn nachprogrammieren:
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm
Jedoch Achtung: Der Hash wurde geknackt!
Wenn du ein Passwort in einer DB speichern willst, nimm MD5.
MfG


1.) Wenn ein Algo geknackt ist, dann ganz sicher MD5, und nicht SHA1.
2.) Wenn man gesalzene SHA1-Hashes verwendet, sind dieser absolut sicher
3.) Muste echt lachen, dass jemand sagt, SHA1 sei unsicher, und ausgerechnet das noch viel unsichere MD5 empfiehlt.

Meinst du vllt. SHA0, den vorgänger von SHA1? Rainbowtables gibts für alle hashes, und zurückrechnen kann man keinen. Die Tables für MD5 sind nur um einiges vollständiger als die für SHA1.
SHA1 ist und bleibt eine sehr gute wahl in sachen hashes, auch wenn man das neue SHA512 bevorzugen sollte, wo es geht.

Xaymar

ehemals "Cgamer"

BeitragMi, März 11, 2009 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
kennt sich jemand mit blitzmax aus? ich hatte nämlich gefragt was der .. Operator macht.
Warbseite

BtbN

BeitragMi, März 11, 2009 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Prinzipiell garnichts, er sagt nur, dass es in der nächsten zeile weitergeht als wär da kein Zeilenumbruch gewesen.

Xaymar

ehemals "Cgamer"

BeitragMi, März 11, 2009 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm dann macht die zuweisung ja gar keinen sinn...
Code: [AUSKLAPPEN]
chunkStart..chunkStart + 16
Warbseite

BladeRunner

Moderator

BeitragDo, März 12, 2009 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Steht das vielleicht in eckigen Klamern? Dann wird das array von Chunkstart bis Chunkstart +16 geslized.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Smily

BeitragDo, März 12, 2009 10:18
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich mal so nebenbei fragen darf:
Was interessiert es eigentlich MySQL, welchen Hash-Algo du innerhalb deines Programms verwendest?

Ich glaube, irgendwo im Code-Archiv geistert eine Implementation des md5-algorhytmus rum. Wenn du das ganze mit einem Salt versiehst, ist es Sicher genug.

Zum Thema Sicherheit und MD5: 2004 wurden kollisionen in MD5 gefunden, das bedeutet lediglich, dass es wissenschaftler geschaft haben, aus einem String einen anderen String mit dem gleichen Hash-Wert zu errechnen. Das sollte für die Meisten anwendungsgebiete vollkommen irrelevant sein.

Grüße,
Smily
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Xaymar

ehemals "Cgamer"

BeitragDo, März 12, 2009 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Lesen was cih geschrieben hab:
CGamer hat Folgendes geschrieben:
Es ist eigentlich für MySQl gedacht, da es bei der passwort übergabe SHA-1 verwendet(mit hash?!?)

2. Nachdenken
3. ???
4. Profit

meine fragen sind nun also:
hat jemand einen fertig konvertierten code da?
wie realisiere ich den SaltHash? XOR?
was bedeutet geslized? ich besitze kein bmax und kenne mich nur in c++ gering aus
Warbseite

Jan_

Ehemaliger Admin

BeitragDo, März 12, 2009 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
schaue mal auf mapeditor.de.vu im BB source, wird dort auch viel von SHA-1 geschrieben.
Glaube TS hat ihn da benutzt.
between angels and insects

BtbN

BeitragDo, März 12, 2009 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop, ist drin.
Für alle suchfaulen: https://www.blitzforum.de/uplo...?show=1403

Xaymar

ehemals "Cgamer"

BeitragDo, März 12, 2009 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke. Das war was ich gesucht habe.

*EDIT* Habe ese nun hinbekommen. SHA-1 und XOR für das Passwort funzt
Warbseite

BladeRunner

Moderator

BeitragDo, März 12, 2009 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
zum Thema slicen:
Nehmen wir an Du hast ein Array:
a[100]
Dann geht es von a[0] bis a[99]

Wenn Du nun a[10..29] machst, wird eine Scheibe rausgeschnitten und zurückgegeben, nämlich der Bereich von a[10] bis a[28].
Daher auch 'slicen'.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group